Debian
Debian Buster:cgmanager 失敗,但為什麼?
系統是 Debian Buster - 我正在嘗試讓 cgroups 工作,遵循我能夠在網上找到的文件(主要是Redhat’s Guide),但我有一個問題:
# systemctl status cgmanager ● cgmanager.service - Cgroup management daemon Loaded: loaded (/lib/systemd/system/cgmanager.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Wed 2020-07-01 07:20:57 UTC; 1h 13min ago Process: 416 ExecStart=/sbin/cgmanager -m name=systemd (code=exited, status=1/FAILURE) Main PID: 416 (code=exited, status=1/FAILURE) Jul 01 07:20:56 cgroups systemd[1]: cgmanager.service: Failed with result 'exit-code'. Jul 01 07:20:57 cgroups systemd[1]: cgmanager.service: Service RestartSec=100ms expired, scheduling restart. Jul 01 07:20:57 cgroups systemd[1]: cgmanager.service: Scheduled restart job, restart counter is at 5. Jul 01 07:20:57 cgroups systemd[1]: Stopped Cgroup management daemon. Jul 01 07:20:57 cgroups systemd[1]: cgmanager.service: Start request repeated too quickly. Jul 01 07:20:57 cgroups systemd[1]: cgmanager.service: Failed with result 'exit-code'. Jul 01 07:20:57 cgroups systemd[1]: Failed to start Cgroup management daemon.
在
strace
cgmanager 上顯示:# strace -o cgmanager.trc -f /sbin/cgmanager -m name=systemd ... 604 mkdir("/run", 0755) = -1 EEXIST (File exists) 604 mkdir("/run/cgmanager", 0755) = -1 EEXIST (File exists) 604 mkdir("/run/cgmanager/fs", 0755) = -1 EEXIST (File exists) 604 mkdir("/run/cgmanager/agents", 0755) = -1 EEXIST (File exists) 604 openat(AT_FDCWD, "/proc/self/cgroup", O_RDONLY) = 4 604 fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 604 read(4, "11:cpu,cpuacct:/\n10:cpuset:/\n9:d"..., 1024) = 316 604 close(4) = 0 604 mkdir("/sys/fs/cgroup/.cgm_unified", 0755) = -1 EEXIST (File exists) 604 mount("cgroup", "/sys/fs/cgroup/.cgm_unified", "cgroup", 0, "__DEVEL__sane_behavior") = -1 ENOENT (No such file or directory) 604 write(2, "cgmanager: Error mounting unifie"..., 62) = 62 604 write(2, "cgmanager: failed to collect cgr"..., 47) = 47 604 exit_group(1) = ? 604 +++ exited with 1 +++
也許問題是我找不到任何關於如何在最近的 Debian 系統上執行此操作的好的、最新的文件。在 Debian 中我需要 cgmanager 嗎?
您連結的文件適用於 RedHat 6,它具有非常舊的核心(2010 年的核心版本 2.6.32),並且沒有
cgroup
包含在 Debian Buster 中的最新更新(2019 年的核心版本 4.19)。我相信 RedHat 6 只有 Control Groups v1 可用,而現在還有 Control Groups v2 可供選擇。Linux 核心文件可能是比發布的 RedHat 更好的資源
cgroups-v1
。cgroups-v2
如果您喜歡 RedHat 文件,RedHat 8 文件關於使用控制組來限制應用程序將更接近您的 Debian Buster 核心。預設情況下,大多數
systemd
係統已經在使用cgroups
,因此它們應該已經在工作(您可以檢查mount | grep cgroup
)。至於你是否需要cgmanager
,這主要取決於你打算用cgroup
s 做什麼,以及是否cgmanager
讓你更容易處理。