Linux VPS 主机使用 CPULimit 来限制 Linux 进程的 CPU 使用率
![]() | ![]() | ![]() | ![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |

搬瓦工 VPS 都会限制 CPU 使用率,如果超出限制,VPS主机会被暂停。可以使用 CPULimit 每个进程的 CPU 使用率进行限制,可以避免搬瓦工 VPS 的过程中因超出 CPU 限制而被暂停。CPULimit适用于所有的Linux VPS主机,因为搬瓦工 VPS 比较典型,以搬瓦工 VPS 为例。
内容 1 CPULimit 简介 2 CPULimit 安装 3 CPULimit 使用教程 4 CPULimit 高级用法 4.1 相关文章CPULimit 简介
CPUlimit 是一个限制进程的 CPU 使用率的工具(以百分比表示,而不是以 CPU 时间表示)。 当不希望批处理作业占用太多 CPU 时,控制批处理作业很有用。 目标是防止进程运行超过指定的时间比率。它不会更改 nice 值或其他调度优先级设置,而是更改真实的 CPU 使用率,而且能够动态且快速地适应整个系统负载。 使用的 CPU 数量的控制是通过向进程发送 SIGSTOP 和 SIGCONT POSIX 信号来完成的。 指定进程的所有子进程和线程将共享相同百分比的 CPU。
CPULimit 安装
在 Debian 或 Ubuntu 中,使用 apt 命令安装:
sudo apt-get install cpulimit在 CentOS、RHEL 或 Fedora 中,启用 EPEL后,再以 yum 安装:
sudo yum install cpulimit或者直接:
sudo yum install epel-release cpulimitCPULimit 使用教程
帮助命令如下:
root@hk:~# cpulimit -hCPUlimit version 2.4Usage: cpulimit TARGET [OPTIONS...] [-- PROGRAM] TARGET must be exactly one of these: -p, --pid=N pid of the process -e, --exe=FILE name of the executable program file The -e option only works when cpulimit is run with admin rights. -P, --path=PATH absolute path name of the executable program file OPTIONS -b --background run in background -f --foreground launch target process in foreground and wait for it to exit -c --cpu=N override the detection of CPUs on the machine. -l, --limit=N percentage of cpu allowed from 1 up. Usually 1 - 100, but can be higher on multi-core CPUs (mandatory) -m, --monitor-forks Watch children/forks of the target process -q, --quiet run in quiet mode (only print errors). -k, --kill kill processes going over their limit instead of just throttling them. -r, --restore Restore processes after they have been killed. Works with the -k flag. -s, --signal=SIG Send this signal to the watched process when cpulimit exits. Signal should be specificed as a number or SIGTERM, SIGCONT, SIGSTOP, etc. SIGCONT is the default. -v, --verbose show control statistics -z, --lazy exit if there is no suitable target process, or if it dies -- This is the final CPUlimit option. All following options are for another program we will launch. -h, --help display this help and exit以 md5sum 进程为例。运行以下命令:
md5sum /dev/urandom这是一个非常耗 CPU 的进程,这行指令会从 /dev/urandom 读取随机数据,计算其 MD5 检查码,这个指令非常耗费 CPU,而且试算不完的,若要中止此进程,请按下 Ctrl + c。
注意:不要长时间运行此命令,仅教学使用,不然可能你的搬瓦工 VPS 不知不觉就被暂停了。
在这行 md5sum 指令执行之后,我们可以使用 top 指令查看目前系统的状况,此时 md5sum 的 CPU 用量应该会接近 100%,如图所示。
如果想要让这个 md5sum 进程不要吃掉太多的 CPU 资源,可以使用 cpulimit 来限制其 CPU 用量(需先在 top 里查看进程的 PID,然后另开一个终端操作):
cpulimit --pid 11699 --limit 50执行之后,该进程的 CPU 用量就会被控制在 50% 左右,如下图所示(因为我重新运行了一下,所以 PID 变了,不然是不会变的)。
另外也可以使用进程名称来限制 CPU 使用量:
cpulimit --exe md5sum --limit 50或者以绝对路径来限制 CPU 使用量,可以避免不同进程有相同进程名的问题:
cpulimit --path /usr/bin/md5sum --limit 50如果在进程执行前就已经确定要调整 CPU 用量,也可以直接以 cpulimit 来执行进程,例如:
cpulimit --limit 50 -- md5sum /dev/urandom最后,如果想要停止刚刚已经限制的进程,那么需要通过 top 查找 PID 然后 kill:
kill -9 PID好像没看到更优雅的结束进程的方式。
CPULimit 高级用法
1、后台运行
cpulimit 在执行时也会占用一个终端机,若想让 cpulimit 在后台运行,可加上 --background 参数:
cpulimit --pid 21203 --limit 50 --background2、终止 CPU 用量过高的进程
cpulimit 配合 --limit 参数可以限制进程的 CPU 用量上限值,如果进程超过这个上限值,预设会调节 CPU 用量,而如果想要在 CPU 用量过高时直接中止进程,可以加上 –-kill 参数:
cpulimit --pid 21203 --limit 50 --kill3、自动离开
在默认的状况下,cpulimit 在执行时若没有发现指定的进程(或是指定的进程已经中止了),它还是会持续等待并监控系统的进程,只要有发现符合条件的进程,就会继续进行 CPU 用量的控制。
若想让 cpulimit 在找不到目标进程时自动离开,可以加上 --lazy 参数:
cpulimit --exe md5sum --limit 50 --lazy4、实用范例
在撰写 bash 脚本时,我们可以先执行一个进程,紧接着从 bash 的 $! 变量读取出前一个执行进程的 PID,这样就可以不需要手动查出进程的 PID 了:
# 运行进程md5sum /dev/urandom &# 限制上一个进程的 CPU 用量cpulimit --pid $! --limit 50以上就是 cpulimit 这个小工具的一些基础用法和进阶用法,希望对大家有所帮助。
[Bandwagonhost]历史优惠活动内容
猜你可能想看的VPS
- STSDUST→30.55 元 月 384MB 内存 5GB 空间 50虚拟空间(主机)
- losangelesvps→低至$25 年的 KVM 系列 VPS 洛杉全球[VPS测评]
- $14 年 256M 内存 10G SSD 1T 流量 1Gbps KV全球[VPS测评]
- 便宜 RAKsmart→“抄底价 购实惠” 爆款 G 口 不限低至 19全球[VPS测评]
- Piios 阿里云深港 IPLC 沪美 IPLC,30Mbps 可以长时全球[VPS测评]
- raksmart→日本不限流量服务器(物理机) 100Mbps 带宽 $日本VPS[主机]
- 腾讯云 - 双十一促销 11.11 智惠上云促销方案整理汇总全球[VPS测评]
- Chrome 下载文件总是自动打开怎么办 取消 Chrome 总是打开此全球[VPS测评]
- 便宜 $3.5 月 2 核 CPU 4G 内存 75G SSD 2Gbp全球[VPS测评]
- PHP:Maximum number of allowable file全球[VPS测评]
- 一个大的材字旁边一个小的用字是什么成语?全球[VPS测评]
- 促销 $2 月 512M 内存 15G 硬盘 1T 流量 1Gbps K全球[VPS测评]
- 酷锐云→15 元 月 1GB 内存 30GB 空间 100GB 流量 1虚拟空间(主机)
- 搬瓦工香港机房新上 VPS 套餐 又是一波买不起系列香港VPS[主机]
- HostKvm 香港云地&新加坡 7 折 2G 内存套餐每月 6.65 香港VPS[主机]
- 红米Redmi K20Pro MIUI 12 欧版 ROM 刷机教程全球[VPS测评]
- Netcetera 英国便宜Linux VPS和Windows VPS首WINDOWS
- 香港云服务器对于建站有什么便捷的地方?香港VPS[主机]
- 为什么大家都选择香港服务器建站香港VPS[主机]
- 言車新车|大阳VPS125混动踏板,长续航,代步通勤9980元起全球[VPS测评]
- 极光KVM:香港CN2大带宽vps6折优惠,美国CN2 GIA套餐年付低美国VPS[主机]
- 樊云:香港CN2节点vps,最低月付22.5起,带宽5Mbps起步香港VPS[主机]
- 七安云怎么样?香港CN2+BGP线路VPS 1核1G10M 16/月香港VPS[主机]
- Hostkvm:香港/韩国CN2云服务器 大带宽VPS 2核4G,$7.韩国VPS[主机]
- cmivps:香港不限流量VPS,2核2G仅218元/年,支持WindoWINDOWS
- 磐逸云怎么样?CN2线路香港VPS月付20元香港VPS[主机]
- YYYHost:4核4G香港cn2vps,20G SSD/3Mbps不限香港VPS[主机]
- 云服务器和服务器各有什么优缺点?全球[VPS测评]
- 金斗云怎么样?香港CN2月付23元,圣何塞CN2月付22元香港VPS[主机]
- 野草云怎么样?香港、美国圣何塞高防VPS 1核1G3M 月付19元美国VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-227897.html











