2016-01-08 10 views
5

में सीपीयू शेयर और cpuset-CPUs मिश्रण मैं निम्नलिखित संसाधनों के आवंटन के साथ दो कंटेनरों को चलाने के लिए करना चाहते हैं:डोकर

  • कंटेनर "सी 1": 20 के साथ सुरक्षित CPU1, साझा cpu2 सीपीयू शेयरों
  • कंटेनर "सी 2": सुरक्षित cpu3, ​​80 सीपीयू शेयरों

अगर मैं इस तरह से दो कंटेनरों को चलाने के साथ साझा cpu2:

docker run -d --name='C1' --cpu-shares=20 --cpuset-cpus="1,2" progrium/stress --cpu 2 

docker run -d --name='C2' --cpu-shares=80 --cpuset-cpus="2,3" progrium/stress --cpu 2 

मुझे लगता है कि सी 1 अपेक्षित के रूप में सीपीयू 1 का 100% लेता है लेकिन सीपीयू 2 का 50% (20% की बजाय), सी 2 सीपीयू 3 का 100% अपेक्षित और 50% सीपीयू 2 (80% के बजाय) लेता है।

ऐसा लगता है कि --cpu-share विकल्प को अनदेखा किया जाता है। क्या मैं जिस व्यवहार को ढूंढ रहा हूं उसे प्राप्त करने का कोई तरीका है?

उत्तर

1

docker run कहा गया है कि पैरामीटर के रूप में:

--cpu-shares=0    CPU shares (relative weight) 

और contrib/completion/zsh/_docker#L452 में शामिल हैं:

"($help)--cpu-shares=[CPU shares (relative weight)]:CPU shares:(0 10 100 200 500 800 1000)" 

तो उन मूल्यों% आधारित नहीं हैं।

docker run -ti --cpuset-cpus="0,1" C1 # instead of 1,2 
docker run -ti --cpuset-cpus="3,4" C2 # instead of 2,3 

(उन मूल्यों validated/checked only since docker 1.9.1 with PR 16159 कर रहे हैं)

नोट:: वहाँ भी CPU quota constraint:

--cpu-quota ध्वज को सीमित करता है कंटेनर की

ओपी --cpu-shares=20/80 निम्नलिखित Cpuset constraints साथ काम करता है का उल्लेख है सि पि यु का उपयोग। डिफ़ॉल्ट 0 मान कंटेनर को 100% CPU संसाधन (1 सीपीयू) लेने की अनुमति देता है।

+0

मुझे पता है, मैंने परिदृश्य को सरल बनाने के लिए 20 और 80 का उपयोग किया था। क्योंकि मेरे पास केवल दो कंटेनर हैं जिनके लिए 20% 80 के सेट के साथ 100% सीपीयू (तनाव) की आवश्यकता है, उन्हें साझा सीपीयू (सीपीयू 2) पर क्रमशः 20% और 80% पर चलना चाहिए। बेशक मैं 4 और 16 या 80 और 320 जैसे कुछ इस्तेमाल कर सकता था। –

+0

नहीं, मेरा मतलब है कि उन मानों को पहचाना नहीं जा सकता है। यह देखने के लिए 200 और 800 कोशिश करें कि यह बेहतर काम करता है या नहीं। – VonC

+0

नहीं, यह बेहतर काम नहीं करता है, यह वही है। –

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