2016-11-17 6 views
7

मैं t2.medium के लिए कंटेनर सेवा में एक नया कार्य पंजीकृत करने जा रहा हूं। मैंने उदाहरण देखा जहां सीपीयू पैरामीटर 0 के बराबर है। मैं यह पता लगाने की कोशिश कर रहा हूं कि यह क्या है और मुझे एक कार्य के लिए कितने लोगों को यहां रखना होगा।aws कंटेनर सेवा में 'cpu' पैरामीटर का क्या अर्थ है?

सभी है कि मैं इस सवाल अनुसार ढूँढने में सक्षम था: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html?shortFooter=true http://docs.aws.amazon.com/AmazonECS/latest/developerguide/example_task_definitions.html

उत्तर

20

"cpu इकाइयों की संख्या कंटेनर के लिए आरक्षित करने के लिए एक कंटेनर उदाहरण हर सीपीयू कोर के लिए 1,024 cpu इकाइयां हैं।। यह पैरामीटर एक कंटेनर के लिए आरक्षित करने के लिए न्यूनतम मात्रा में सीपीयू निर्दिष्ट करता है, और कंटेनर उदाहरण पर अन्य कंटेनरों के साथ अन्य कंटेनरों के साथ गैर-आवंटित CPU इकाइयों को साझा करते हैं, जो उनके आवंटित राशि के समान अनुपात के साथ होते हैं। यह पैरामीटर मानचित्र में CpuShares के लिए मानचित्र डॉकर रिमोट एपीआई और डॉक्यू-शेयर विकल्प डॉकर रन के कंटेनर सेक्शन। "

एक टी 2.मेडियम में 2 वीसीपीयू हैं, इसलिए इसमें 2,048 उपलब्ध CPU इकाइयां निर्धारित हैं। यदि आप मेजबान पर चल रहे केवल एक कंटेनर चाहते हैं तो आप सभी 2,048 सीपीयू इकाइयों का बजट कर सकते हैं, लेकिन उस होस्ट पर कोई अन्य कंटेनर कभी नहीं रखा जाएगा।

कंटेनर को कम से कम उनके बजट वाले CPU प्राप्त करने की गारंटी दी जाती है जब उन्हें की आवश्यकता होती है। इसके अतिरिक्त, सीपीयू इकाइयों के बारे में एक साफ बात यह है कि यदि कोई अन्य कंटेनर संसाधन नहीं ले रहा है तो एक कंटेनर अपनी आवंटित इकाइयों से ऊपर फट सकता है। उदाहरण के लिए, यदि आपके पास t2.medium पर चल रहे दो कार्य हैं, प्रत्येक 1,024 बजट वाली सीपीयू इकाइयों के साथ, प्रत्येक कार्य व्यक्तिगत रूप से 2,048 तक फट सकता है क्योंकि यह कार्य पूरी तरह से निष्क्रिय था। जब आप मेजबानों को इस तरह साझा करना शुरू करते हैं, तो आप वास्तव में ईसीएस का उपयोग करने से लागत बचत को निचोड़ सकते हैं।

इसके अतिरिक्त, यदि सभी सीपीयू इकाइयों का बजट नहीं किया जाता है, तो ईसीएस स्वचालित रूप से शेष सीपीयू इकाइयों को अपने कंटेनर सीपीयू इकाइयों के अनुपात में प्रत्येक कंटेनर में विभाजित कर देगा। तो यदि आपके पास 0 सीपीयू इकाइयों के साथ t2.medium प्रत्येक पर चल रहे दो कार्य हैं, तो प्रत्येक कंटेनर प्रभावी रूप से 1,024 CPU इकाइयां प्राप्त करेगा क्योंकि किसी अन्य कंटेनर ने उन्हें आरक्षित नहीं किया है।

यहां ध्यान देने योग्य एक बात यह है कि स्मृति थोड़ा अलग काम करता है; यह एक कठिन सीमा है। यदि कंटेनर कभी भी बजट की तुलना में अधिक मेमोरी आवंटित करने का प्रयास करता है, तो कार्य/कंटेनर बाहर निकल जाएगा। आप सीपीयू इकाइयों को कम कर सकते हैं और आम तौर पर इसके साथ दूर हो सकते हैं (क्योंकि कंटेनर अपने प्रावधान से ऊपर फट सकते हैं), लेकिन आपको यह सुनिश्चित करना होगा कि आप अपनी मेमोरी विरोधाभासों में रहें।


उदाहरण: आप 0 के लिए सेट है, यह अनारक्षित सीपीयू के एक आनुपातिक राशि ले जाएगा। 0 सीपीयू इकाइयों, टास्क # 2 - - 0 सीपीयू इकाइयों

टास्क # 1:: इस स्थिति में, दोनों टास्क # 1 और टास्क # 2 दी जाएगी इन मान लें परिदृश्यों 2,048 सीपीयू इकाइयों के साथ t2.mediums पर हैं 1,024 सीपीयू इकाइयां, क्योंकि 2,048 अनारक्षित इकाइयां हैं। चूंकि कार्य CPU इकाई आरक्षण के लिए 1: 1 हैं, इसलिए वे दोनों उपलब्ध CPU इकाइयों का बराबर हिस्सा प्राप्त करेंगे।

टास्क # 1 - 0 सीपीयू इकाइयों, टास्क # 2 - 1024 सीपीयू इकाइयों: टास्क # 2 2,048 सीपीयू इकाइयों दिया जाएगा और के बाद से यह 1024 अप्रयुक्त सीपीयू इकाइयों सूद की कोशिश कर रही टास्क # 1 0 दी जाएगी 0: 1,024 के अनुपात में।

कार्य # 1 - 0 सीपीयू इकाइयां: यदि मशीन पर केवल एक ही कार्य है, तो सभी 2,048 सीपीयू इकाइयां दी जाएंगी क्योंकि सभी इकाइयों का उपयोग नहीं किया जाता है, वे कंटेनरों के बीच उनके आरक्षण के अनुपात में विभाजित होते हैं।

+0

इसके साथ मेरी सहायता करने के लिए धन्यवाद, लेकिन मेरे पास एक और सवाल है। यदि मैं सीपीयू को शून्य पर सेट करता हूं और क्या हमारे पास यहां एक डिफ़ॉल्ट मान है तो क्या होगा? अग्रिम धन्यवाद। – nightmare

+0

मैंने कुछ उदाहरण जोड़े। – louahola

+0

बहुत बहुत धन्यवाद !!!! अब यह स्पष्ट है। – nightmare

संबंधित मुद्दे