我在python寫了一個測試程序 'cputest.py' 是這樣的:Docker上的cpushare設置令人困惑。
import time while True: for _ in range(10120*40): pass time.sleep(0.008)
,在一個容器中運行時(沒有其他runnng容器的干擾),該收費是80% CPU。
然後我在兩個容器中跑出該程序由以下兩個命令:
docker run -d -c 256 --cpuset=1 IMAGENAME python /cputest.py
docker run -d -c 1024 --cpuset=1 IMAGENAME python /cputest.py
和使用「頂部」,以查看它們的CPU成本。原來,他們相對成本30%和67% cpu。這個結果讓我很困惑。有人會爲我解釋嗎?非常感謝!
沒有答案,但這可能有幫助:https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt – Andy 2014-10-10 00:10:32