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
- GigsGigsCloud→新上小内存美国 CN2 GIA 套餐 1 核美国VPS[主机]
- VirMach - Special Offers 特价促销方案 4.9 全球[VPS测评]
- FDCServers→$23.76 年 128MB 内存 10GB SS虚拟空间(主机)
- iWFHosting→$8.99 月 KVM-2GB 25GB 1.5T全球[VPS测评]
- [11.11]滴滴云秒杀→2C4G2M 三年 468 元 2C4G5M 全球[VPS测评]
- 不建议年付-ParkinHost→50 欧元 年 200Mbps 宽带 全球[VPS测评]
- 老板抠门-标准互联襄阳电信高防云服务器 最高 200G DDOS 防御 全球[VPS测评]
- 便宜 RAKsmart→圣何塞不限流量服务器 46 美元起 站群服务器买站群服务器[IP]
- 特价促销 Rainbow cloud→Intel Xeon E3-12X香港VPS[主机]
- GigsGigsCloud 新加坡 VPS CLOUDLET SG K1全球[VPS测评]
- WordPress5.2发布要求服务器配置不低于PHP5.6.20与My全球[VPS测评]
- OG协议对博客Google SEO优化有什么帮助?全球[VPS测评]
- CloudCore-越南胡志明 3.4$ 月 1GB内存10GB SSD全球[VPS测评]
- 什么是IconFont ?iconfont 的使用和解析全球[VPS测评]
- 跨境电商拔节生长关键期,宁波政协委员月谈会精准助力!全球[VPS测评]
- 兼容移动和PC的loading加载和toast消息插件全球[VPS测评]
- tmhhost:香港CN2/NNT,美国CN2 GIA VPS,韩国CN韩国VPS[主机]
- Fatal error: Allowed memory size of 全球[VPS测评]
- 中国云计算,能啃的只剩硬骨头了全球[VPS测评]
- 云服务器和服务器各有什么优缺点?全球[VPS测评]
- 魔方云cubecloud:香港CN2VPS/美国CN2VPS终身88折/美国VPS[主机]
- 20个温暖心灵的问题,抖音,朋友圈都可以拿去发。全球[VPS测评]
- 恒创科技:免备案香港/美国云服务器低至2.5折,仅需220元/年美国VPS[主机]
- 狗云DogYun,香港cn2云服务器/优惠码/流量包,按小时计费云服务器香港VPS[主机]
- 优网主机怎么样?香港云主机/美国云主机价格低至19元/月美国VPS[主机]
- hostkvm怎么样?香港云vps 带宽30M 月付6美元香港VPS[主机]
- 快速云:vps云服务器的区别是什么?2022-08-1913:32来源:全球[VPS测评]
- 轻云互联,香港美国vps终身8.8折17元/月起,cn2直连线路,50G美国VPS[主机]
- LOCVPS:全球云美国洛杉矶CN2 VPS,香港云地Xen VPS七折美国VPS[主机]
- DMIT:香港/洛杉矶GIA等KVM VPS,黑五DMIT优惠码活动,稳香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-227897.html











