linux 提升cpu权限,CPUlimit有效防止Linux系统CPU过载

最近使用Nginx服务器测试 pagespeed 的加速效果时,发现这货会造成 CPU 占用过高,Nginx 经常 100%,尽管使用的是静态缓存,总是触发主机商的CPU占用上限,不停的被强制关机。发现 CPULimit 这款工具刚好可以解决这个问题,便在此记录一下 CentOS 6 下 CPULimit 的安装和使用过程。其实也可以使用 nice 管理进程的优先级也能达到类似的效果。

2c7c2d34414147baf353ae6420e3293e.png

参数介绍

先了解一下 cpulimit 的参数:[root@bruce ~]# cpulimit -h

Usage: cpulimit [OPTIONS...] TARGET

OPTIONS

-l, --limit=N percentage of cpu allowed from 0 to 200 (required) //cpu限制的百分比

-v, --verbose show control statistics //显示版本号

-z, --lazy exit if there is no target process, or if it dies //如果限制的进程不存在了,则退出。

-i, --include-children limit also the children processes //包括子进程

-h, --help display this help and exit //帮助,显示参数

TARGET must be exactly one of these:

-p, --pid=N pid of the process (implies -z) //进程的pid

-e, --exe=FILE name of the executable program file or path name //可执行程序或进程路径

COMMAND [ARGS] run this command and limit it (implies -z) //限制某一条命令执行的cup占用

开始安装

Linux / OS X 系统,执行:cd /tmp

wget https://github.com/opsengine/cpulimit/archive/v0.2.zip

unzip v0.2.zip

cd cpulimit-0.2

make

cp src/cpulimit /usr/bin

安装完成!

使用方法

1、根据进程ID限制cpulimit -p 1234 -l 40

指限制 pid 为1234的进程,最高只能使用40%的cpu用率。

2、根据进程路径限制cpulimit -e /usr/local/nginx-1.4.1/sbin/nginx -l 50

指限制 nginx 程序最高只能使用50%的cpu用率。

3、限制某一条命令执行的cup占用cpulimit -l 60 unzip 5555.zip

指限制解压 5555.zip 这个进程的cpu占用上限值为 60%

注意事项-l 后面限制的cpu使用量,要根据实际的核心数量而成倍减少。比如上文中的进程1234,40%的限制生效在1核服务器中,如果是双核服务器,则应该限制到20%,四核服务器限制到10%以此类推。

root 用户可以限制所有的进程,普通用户只能限制自己有权限管理的进程。

通过某一条命令执行限制cup占用的,请注意 cpulimit 只针对单个进程进行限制。若命令包含两个进程则无效。

最后

除了 cpulimit 其实我们还可以通过 nice 命令工具实现合理化使用系统资源的目的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值