Cgroups
如何檢查系統是否使用 cgroupv1?
docker只能使用cgroupv1,而fedora預設只能使用cgroupv2。如何檢查系統是否與 cgroupv1 兼容?
到目前為止,這個問題的答案只能確定是否安裝了 cgroupv2。但它無法確定是否
unified_cgroup_hierarchy
設置為0或1。是否有任何統一的方法來確定係統是否與cgroupv1兼容,無論是否安裝了cgroupv2?到目前為止,我
mount -l
用來檢查是否有cgroup2 on /sys/fs/cgroup
. 如果有,那意味著只有 cgroupv2。這種方法是否普遍適用於所有發行版?到目前為止,我只在 Fedora 和 ubuntu 上進行了測試。如果沒有,是否有一種通用的方法來確定這一點?
我會遵循systemd使用的方法:
如果
/sys/fs/cgroup
存在並且在cgroup2
文件系統上,則係統以完全統一的層次結構執行;如果
/sys/fs/cgroup
存在並且在tmpfs
文件系統上,
- 如果其中一個
/sys/fs/cgroup/unified
或/sys/fs/cgroup/systemd
存在並且位於cgroup2
文件系統上,則係統僅對 systemd 控制器使用統一的層次結構;- 如果
/sys/fs/cgroup/systemd
存在並且在cgroup
文件系統上(或者,作為備份,如果它存在並且不在cgroup2
文件系統上),則係統正在使用舊層次結構。