linux 限制 CPU 占用 教程 — 针对单一进程



转自军佬的狗仔小分队http://xiaofd.win

这个功能对于玩VPS还是比较刚需的,很多VPS厂家都会限制不能长期跑满CPU

我想~~或许对想要用VPS挖矿的人来说特别有用~~

功能,限制单一进程CPU占用

ubuntu 上测试可行,理论支持所有linux,其他系统请自测

安装软件

这里使用软件为,CPULimit,注意CPULimit软件使用必须要有root权限。

安装命令:

# debian/ubuntu
apt install -y cpulimit
 
# RHEL/Centos/Fedora
yum install epel-release cpulimit

使用教程

下面列出几个常用用法,注意,这里的CPU限制为:原进程CPU占用百分比*限制的百分比

即:后文指的限制百分比,就是在top命令下,%CPU栏所显示的百分比

# 限制 PID 进程 CPU占用为原来的 50%
sudo cpulimit --pid 进程PID --limit 50
# 限制 进程名 的 进程 CPU占用为原来的 30%
sudo cpulimit --exe 进程名 --limit 30
# 上述都是 在 前台运行限制程序 后台运行需要加 -b 参数 如:
sudo cpulimit --pid 进程PID --limit 50 -b

注意,该程序只是针对单一进程限制CPU,即使是用文件名来指定进程CPU限制,他也就只是找到一个较小PID号的进程去限制,不会自动限制所有同名进程,因此,一般常用手动指定进程PID

进阶

其他可选参数说明

-k 当进程超出限制百分比时,自动kill程序

-r 参数,当进程被kill后,自动恢复 【自己测试中,该参数无效,可能是我用的不对

-v 输出更详细的信息

-z 当监控的进程终止后,自动退出cpulimit监控进程

-c 指定电脑计算机具有的CPU个数,该参数程序会自动检测,除非个人有特殊需求,否则不需要添加

可以使用dd命令,来测试这条命令对CPU限制的效果

dd if=/dev/zero of=/dev/null &
Top