使用Go cgroups v2设置非默认参数创建cgroup遇权限拒绝
CentOS 9下使用cgroups v2设置CPU参数时创建cgroup权限错误问题
更新说明:
我无法再复现该问题了,以下代码在两种情况下均可正常运行。(我不确定是否应该删除此问题。)
在CentOS-9系统中使用Go的cgroups v2包,当设置非默认CPU参数时无法创建cgroup。
正常运行的代码
package main import ( "fmt" cgroupsv2 "github.com/containerd/cgroups/v2" ) func main() { res := cgroupsv2.Resources{} //quota := int64(200000) //period := uint64(1000000) //max := cgroupsv2.NewCPUMax("a, &period) //cpu := cgroupsv2.CPU{Max: max} //res = cgroupsv2.Resources{CPU: &cpu} cgroupManager, err := cgroupsv2.NewManager("/sys/fs/cgroup/", "/mytestgroup", &res) if err != nil { fmt.Printf("Error creating cgroup: %v\n", err) return } else { fmt.Println("The group created successfully") } cgroupManager.Delete() }
正常运行时的命令输出
$ go build -o test $ sudo ./test The group created successfully
取消注释CPU参数后的错误情况
取消注释代码中被注释的CPU参数相关行后,运行出现权限错误:
$ go build -o test $ sudo ./test Error creating cgroup: open /sys/fs/cgroup/mytestgroup/cpu.max: permission denied
SELinux状态参考
$ sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Memory protection checking: actual (secure) Max kernel policy version: 33
感谢您的帮助。
内容的提问来源于stack exchange,提问作者dmitri
相关产品推荐
相关产品推荐

