systemd资源控制

转自:https://www.cnblogs.com/jimbo17/p/9107052.html

systemd资源控制

systemd通过Unit的配置文件配置资源控制,Unit包括services(上面例子就是一个service unit), slices, scopes, sockets, mount points, 和swap devices六种。systemd底层也是依赖Linux Control Groups (cgroups)来实现资源控制。

cgroup v1和v2

cgroup有两个版本,新版本的cgroup v2即Unified cgroup(参考cgroup v2)和传统的cgroup v1(参考cgroup v1),在新版的Linux(4.x)上,v1和v2同时存在,但同一种资源(CPU、内存、IO等)只能用v1或者v2一种cgroup版本进行控制。systemd同时支持这两个版本,并在设置时为两者之间做相应的转换。对于每个控制器,如果设置了cgroup v2的配置,则忽略所有v1的相关配置。
在systemd配置选项上,cgroup v2相比cgroup v1有如下不一样的地方:
1.CPU: CPUWeight=StartupCPUWeight=取代了CPUShares=StartupCPUShares=。cgroup v2没有"cpuacct"控制器。
2.Memory:MemoryMax=取代了MemoryLimit=MemoryLow= and MemoryHigh=只在cgroup v2上支持。
3.IO:BlockIO前缀取代了IO前缀。在cgroup v2,Buffered写入也统计在了cgroup写IO里,这是cgroup v1一直存在的问题。

配置选项(新版本systemd)

CPUAccounting=:是否开启该unit的CPU使用统计,BOOL型,true或者false。

CPUWeight=weight, StartupCPUWeight=weight:用于设置cgroup v2的cpu.weight参数。取值范围1-1000,默认值100。

你可能感兴趣的:(网络,linux,服务器)