Linux下怎么限制进程CPU占用率
Linux下怎么限制进程CPU占用率
工作遇到一个情况需要根据CPU的负载来限流的场景,测试需要模拟不同的CPU 负载。所以写了一个简单的循环, 但是这个会导致cpu 100% 被占用。 但是如果需要控制这个占用比例,就需要额外的工具了。 在不借助第三方工具的情况, 可以使用cgroup 来控制:
cd /sys/fs/cgroup/cpu
mkdir our-new-cpu-cgroup #创建一个新的cgroup
cd our-new-cpu-cgroup/
echo 29441 > tasks #把要控制的process的id 放到这个cgroup的task中
echo 10000 > cpu.cfs_quota_us # 限制cpu 使用10%, -1 表示没有限制
使用cgroup 控制之前:

使用cgroup控制:

使用cgroup控制之后的效果:

在Linux中,当需要模拟不同CPU负载或控制进程占用CPU的比例时,可以避免100%CPU占用的问题。通过cgroup(控制组)这一内核功能,可以有效地限制进程的CPU使用率。在应用cgroup后,能够实现对进程CPU占用的精确控制。
4947

被折叠的 条评论
为什么被折叠?



