Linux系统使用cpulimit对CPU使用率进行限制

介绍

cpulimit 是一个限制进程的 CPU 使用率的工具(以百分比表示,而不是以 CPU 时间表示)。

当不希望批处理作业占用太多 CPU 时,控制批处理作业很有用。

目标是防止进程运行超过指定的时间比率。

它不会更改 nice 值或其他调度优先级设置,而是更改真实的 CPU 使用率,而且能够动态且快速地适应整个系统负载。

使用的 CPU 数量的控制是通过向进程发送 SIGSTOP 和 SIGCONT POSIX 信号来完成的。 指定进程的所有子进程和线程将共享相同百分比的 CPU。

源安装【推荐】

Centos:

yum install cpulimit
 
 

Debian / Ubuntu:

apt-get install -y cpulimit`
 
 

编译安装

cd /tmp
wget 'https://sunpma.com/other/oss/cpulimit-1.1.tar.gz'
tar cpulimit-1.1.tar.gz
cd cpulimit-1.1
make
cp cpulimit  /usr/local/sbin/
rm -rf cpulimit*
 
 

使用实例

限制程序名为 xmrig的程序仅使用 60%的CPU使用率,并在后台一直运行;

cpulimit -e xmrig -l 60 -b
 
 

限制进程号为 10086的程序仅使用 60%的CPU利用率,并在后台一直运行;

cpulimit -p 10086 -l 60 -b
 
 

限制绝对路径下的软件仅使用 60%的CPU利用率,并在后台一直运行;

cpulimit -e /usr/local/nginx/sbin/nginx -l 60 -b
 
 

关闭cpulimit后台进程(取消所有限制)

kill $(pidof cpulimit)
 
 

使用方法

-p --pid=N pid of the process 进程的PID
-e --exe=FILE name of the executable program file 可执行程序文件名
-P --path=PATH absolute path name of the 进程的绝对路径名
-b --background run in background 后台运行
-l --limit=N percentage of cpu allowed from 1 up 允许的CPU百分比,最低为1%
-z --lazy exit if there is no suitable target process 如果目标进程退出或无目标进程则终止
-h --help display this help and exit 显示帮助并退出
posted @   qy98948221  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示