cgroup v2を試してみたいのですが、私のLinuxシステムにインストールされているかどうかはわかりません。
>> uname -r
4.14.66-041466-generic
cgroup v2は4.12.0-rc5で利用できるので、私が使用しているカーネルバージョンでも利用できるはずだと思いました。
https://www.infradead.org/~mchehab/kernel_docs/unsorted/cgroup-v2.html
ただし、ドキュメントに記載されているメモリインターフェイスファイルは私のシステムで利用できないため、私のシステムにはcgroup v2がないようです。
https://www.kernel.org/doc/Documentation/cgroup-v2.txt
まだcgroup v1があるようです。
/sys/fs/cgroup/memory# ls
cgroup.clone_children memory.kmem.failcnt memory.kmem.tcp.usage_in_bytes memory.memsw.usage_in_bytes memory.swappiness
cgroup.event_control memory.kmem.limit_in_bytes memory.kmem.usage_in_bytes memory.move_charge_at_immigrate memory.usage_in_bytes
cgroup.procs memory.kmem.max_usage_in_bytes memory.limit_in_bytes memory.numa_stat memory.use_hierarchy
cgroup.sane_behavior memory.kmem.slabinfo memory.max_usage_in_bytes memory.oom_control notify_on_release
docker memory.kmem.tcp.failcnt memory.memsw.failcnt memory.pressure_level release_agent
memory.failcnt memory.kmem.tcp.limit_in_bytes memory.memsw.limit_in_bytes memory.soft_limit_in_bytes tasks
memory.force_empty memory.kmem.tcp.max_usage_in_bytes memory.memsw.max_usage_in_bytes memory.stat
フォローアップの質問 助けてくれたブライアンに感謝します。新しい質問を作成する必要があるかどうか教えてください。ただここに質問をすれば他の人に役立つと思いました。
1)マニュアルのコマンドに従ってcgroupコントローラを追加することはできません。
>> echo "+cpu +memory -io" > cgroup.subtree_control
ただし、「エコー:書き込みエラー:無効な引数」というメッセージが表示されます。この段階の前提条件がありませんか?
2)Dockerコンテナを実行しましたが、Dockerデーモンログに「/sys/fs/cgroup/cpuset/docker/cpuset.cpus」が見つからないと文句を言いました。 dockerがまだcgroupv1を期待しているようです。私のdockerデーモンでcgroupv2サポートを有効にする最良の方法は何ですか?
docker -v
Docker version 17.09.1-ce, build aedabb7
ベストアンサー1
次のコマンドを実行できます。
grep cgroup /proc/filesystems
システムが cgroupv2 をサポートしている場合は、以下が表示されます。
nodev cgroup
nodev cgroup2
cgroupv1 のみを持つシステムでは、以下のみが表示されます。
nodev cgroup