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
- 疯狂猜成语 图猜成语五个口字每个里面都有个碑字是什么成语?全球[VPS测评]
- 黑五 CloudCone→三款特价机器 512M 内存年付低至 15 美全球[VPS测评]
- 手字下面有个天是什么成语?全球[VPS测评]
- 刷 PT $20 月 Atom C2750 16G 内存 2T 硬盘 1全球[VPS测评]
- DedeCMS 启用自带的评论模块禁用畅言评论全球[VPS测评]
- 云翼计划活动 9.5 元每月 2G 内存 40G 硬盘 非学生也可以申请全球[VPS测评]
- 评测 Vultr 日本东京 1 核 512M 内存 20G 硬盘 1Gb日本VPS[主机]
- racknerd→$23.5 年 KVM 虚拟 VPS 2.5G 内存 全球[VPS测评]
- 便宜 腾讯云智惠上云→2 核 4G 5M 套餐年付 368 元 1 核 全球[VPS测评]
- DiyVM→香港 2G 内存 XEN 月付 69 元起 香港独立服务器 独立服务器[U]
- 阿里云香港 新加坡 30Mbps 轻量应用服务器 1 核 1G 24 元香港VPS[主机]
- 阿里云ECS服务器如何创建修改删除自动快照策略?全球[VPS测评]
- WordPress网站引入腾讯vConsole调试面板方便手机端页面调试全球[VPS测评]
- DMIT洛杉矶新上sPro方案自带Cloudflare防御/CN2GIA全球[VPS测评]
- StarVerse Network → 台湾 4.2$ 月 1C1G20全球[VPS测评]
- VPSie 东非吉布提VPS 测试(20M5$)全球[VPS测评]
- Friendhosting-圣诞节闪购 优惠最高50 VPS 月付 $1全球[VPS测评]
- Centos7的firewall 防火墙如何设置端口转发?全球[VPS测评]
- 麻花云怎么样?安徽移动VPS月付29元 香港VPS 2M月付21元香港VPS[主机]
- JGKVM(极光kvm),便宜香港VPS(5G防御秒解),极光互联vps香港VPS[主机]
- 宏海数据9.9云服务器:香港VPS CN2线路1核1G 9.9/首月香港VPS[主机]
- wikihost,微基主机服务,100M带宽香港tudcloud,5G防香港VPS[主机]
- 147SEO采集器 CSS选择器写法案例全球[VPS测评]
- 30个美容院抖音唯美文案,看到就直接拿去发吧全球[VPS测评]
- 安国云:1核/1G/20G硬盘/1Mbp不限流量/香港cdia,月付18香港VPS[主机]
- 云米科技:美国CERA三网回程GIA 10Mbps大带宽,年付最低400美国VPS[主机]
- RFCHost:1核1G洛杉矶vps/15GB空间/1TB流量/KVM/虚拟空间(主机)
- EdgeNAT,香港CN2+BGP vps 带宽5M 月付72元香港VPS[主机]
- 悠久云:香港云服务器低至9.9元/月;香港大带宽vps,4核4G30M仅香港VPS[主机]
- 创新互联:免备案美国香港云主机4核2G仅558元/月,5580元/年美国VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-227897.html











