LoginSignup
10
12

More than 5 years have passed since last update.

Dockerは勝手にCPUを全部使っちゃうよという話

Last updated at Posted at 2016-03-25

元々そういわれていた様な気もするのでなにを今更という感じもしますが備忘として。

HostOSにprocessorひとつ

  • HostOSのprocessor数の確認
# cat /proc/cpuinfo | grep processor
processor       : 0

CPUはひとつだけ。

  • コンテナに割り当てられたprocessorの確認
# cat /sys/fs/cgroup/cpuset/system.slice/docker-046da3a950705f500154c13fd0cc4ded2e01145e26aed3797b5231c6cafebe5d.scope/cpuset.cpus
0

もちろんコンテナに割り当てられているのもひとつだけ。

processor増設(1→4)

VMのCPU割り当てを追加しました。

  • HostOSのprocessor数の確認
# cat /proc/cpuinfo | grep processor
processor       : 0
processor       : 1
processor       : 2
processor       : 3

CPUプロセッサは4つ見える。

  • コンテナに割り当てられたprocessorの確認
# cat /sys/fs/cgroup/cpuset/system.slice/docker-046da3a950705f500154c13fd0cc4ded2e01145e26aed3797b5231c6cafebe5d.scope/cpuset.cpus
0-3

勝手に4つ全部使ってる!

要するに

--cpuset-cpus オプションを利用しないで立ち上げたコンテナについてはHostOS側のprocessorを増設すると自動で割り当て数も増える。

CPUを計画的に使いたいのであれば各コンテナに必要なprocessorを割り当てた方が良いよということ。

10
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
12