2016-06-17 7 views
27

आइए कहें कि मैं एक डॉकर कंटेनर के अंदर एक multiprocessing सेवा चला रहा हूं, जो कई प्रक्रियाओं को उत्पन्न करता है, क्या मेजबान के सभी/एकाधिक कोर/सीपीयू या सिर्फ एक का उपयोग करेगा?डॉकर कंटेनर कितने सीपीयू का उपयोग करता है?

+8

जितना सीपीयू इसका उपयोग करने की अनुमति है, उतने सीपीयू जितना उपयोग करने की अनुमति है। जो, डिफ़ॉल्ट रूप से, सीमित नहीं है। यदि आप इसे बदलना चाहते हैं तो '--cpuset-cpus' देखें। –

+2

(एक डॉकर कंटेनर केवल निजी नामस्थानों का एक गुच्छा है - चूंकि यह CPUs को अनुकरण नहीं कर रहा है, इसलिए उन्हें उन पर कोई प्रतिबंध लगाने के लिए अपने रास्ते से बाहर निकलना होगा; लिनक्स कर्नेल * इस तरह के जाने-माने के लिए सुविधाएं प्रदान करते हैं एक-तरह से, लेकिन यह अभी भी कुछ ऐसा है जिसे वास्तव में स्पष्ट रूप से निष्पादित करने की आवश्यकता है)। –

+1

यह एक वैध सवाल है, क्यों डाउनवोट? – kev

उत्तर

27

चार्ल्स का उल्लेख है कि डिफ़ॉल्ट रूप से सभी का उपयोग किया जा सकता है, या आप --cpuset-cpus पैरामीटर का उपयोग करके प्रति कंटेनर को सीमित कर सकते हैं।

docker run --cpuset-cpus="0-2" myapp:latest 

इससे कंटेनर को 3 CPU (0, 1, और 2) तक सीमित कर दिया जाएगा। अधिक जानकारी के लिए docker run docs देखें।

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