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
- linux 下开启 SSH 允许 root 用户远程无密码登录全球[VPS测评]
- 三网直连 ¥39 每月 512M 内存 5G 硬盘 5M 不限量 洛杉矶全球[VPS测评]
- BudgetVM→$12.5 月 KVM-2GB 5GB 100M 不限日本VPS[主机]
- .htaccess 设置整站所有链接 301 重定向全球[VPS测评]
- php 计算二维数组中某一项之和的方法全球[VPS测评]
- 便宜 CN2 $9 半年 512M 内存 10G SSD 1T 流量 1全球[VPS测评]
- Moack 韩国独立服务器特惠,2.5 折起,双路 E5 32G 内存 独立服务器[U]
- 搬瓦工 DC6 CN2 GIA-E 限量版补货:最便宜的美国 cn2vp美国VPS[主机]
- Krypt→ION 平台圣何塞节点上线 8 折优惠码 CN2 优化全球[VPS测评]
- Online - Summer Deals Start-2-S 系列 月全球[VPS测评]
- 疯狂猜成语 图猜成语李字箭头指着一个戴着写着张的帽子的人是什么成语?全球[VPS测评]
- TripodCloud→圣何塞 CN2 GIA 线路 KVM 年付 38全球[VPS测评]
- RangCloud 推出山东BGP NAT VPS全球[VPS测评]
- NameCheap和华为云618域名注册优惠力度大 .com域名最低仅1全球[VPS测评]
- JGKVM促销,美国cn2vps服务器价格再创新低,平均6.5元/月起美国VPS[主机]
- 如何根据业务需求选择合适的云服务器配置?全球[VPS测评]
- 九零云怎么样?香港将军澳VPS,美国圣何塞VPS 2核1G10M 47/美国VPS[主机]
- tmhhost:8折优惠,美国cn2 gia高防vps,香港NTT vp美国VPS[主机]
- 新华全媒+丨第六届全球跨境电商大会:跨境电商加快拓宽中国贸易新通道全球[VPS测评]
- 云计算的大门依旧没向雷军敞开全球[VPS测评]
- 买了一台云服务器到底能干什么?全球[VPS测评]
- 野草云怎么样?香港、美国圣何塞高防VPS 1核1G3M 月付19元美国VPS[主机]
- MoonVM,香港HKT家宽VPS服务器,动态IP一键切换,1G带宽任意香港VPS[主机]
- 亿速云11.11上云狂欢节活动:2核4G国内/香港云服务器,价格999元香港VPS[主机]
- 优网主机怎么样?香港云主机/美国云主机价格低至19元/月美国VPS[主机]
- 亿速云服务器双12活动:香港云服务器29元/月起,100GCDN流量只需香港VPS[主机]
- 优网主机怎么样?香港云主机/美国云主机价格低至19元/月美国VPS[主机]
- LOCVPS:全球云美国洛杉矶CN2 VPS,香港云地Xen VPS七折美国VPS[主机]
- 香港站群服务器租用推荐,香港多IP服务器/VPS套餐(站群需求)站群服务器[IP]
- 特网云:香港高防CN2云服务器,新加坡/美国/洛杉矶/英国/荷兰等,5M美国VPS[主机]
转载请注明原文地址:http://www.motoll.com/read-227897.html