这个功能对于玩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占用为原来的 80% sudo cpulimit --pid 进程PID --limit 80 # 限制 进程名 的 进程 CPU占用为原来的 80% sudo cpulimit --exe 进程名 --limit 80 # 上述都是 在 前台运行限制程序 后台运行需要加 -b 参数 如: sudo cpulimit --pid 进程PID --limit 80 -b
注意,该程序只是针对单一进程限制CPU,即使是用文件名来指定进程CPU限制,他也就只是找到一个较小PID号的进程去限制,不会自动限制所有同名进程,因此,一般常用手动指定进程PID
示例
比如限制xmrig 80%,代码如下:
cpulimit -e xmrig -l 80 -b
查看进程PID方法
ps aux|grep [想查询的进程名]
进阶
其他可选参数说明
-k 当进程超出限制百分比时,自动kill程序
-r 参数,当进程被kill后,自动恢复 【自己测试中,该参数无效,可能是我用的不对】
-v 输出更详细的信息
-z 当监控的进程终止后,自动退出cpulimit监控进程
-c 指定电脑计算机具有的CPU个数,该参数程序会自动检测,除非个人有特殊需求,否则不需要添加
附
可以使用dd命令,来测试这条命令对CPU限制的效果
dd if=/dev/zero of=/dev/null &