小樱 发表于 2019/1/11 06:35

Linux centos中,使用cpulimit 来限制CPU大小 百分比占用过高解决

Linux centos中,使用cpulimit 来限制CPU大小 百分比占用过高解决

编译安装方式,支持所有系统
wget https://github.com/opsengine/cpulimit/archive/v0.2.tar.gz -O cpulimit-0.2.tar.gz
tar xzf cpulimit-0.2.tar.gz
cd cpulimit-0.2
make
\cp -f src/cpulimit /usr/bin


centos系统安装方式
yum -y install cpulimit screen

用法,例如
cpulimit -e opentracker -l 50 -i

如果加-z参数,进程退出,限制程序跟随自动一起退出,不加的话,重新打开程序,就算pid变动后还会立刻被限制。
不加z的情况,适合进程空闲释放重启的多进程程序,例如php-cgi
加-v参数可以用作调试查看限制情况,正式用不要加,浪费CPU计算日志

后台执行
https://bbs.itzmx.com/thread-7100-1-1.html


杀死工作中的cpulimit后台进程,后台执行有个BUG,直接杀死cpulimit后,会导致限制的进程会自动冻结。
在前台用ctrl+c中断限制没问题,各位用的时候注意下
killall -9 cpulimit

自动查找并且限制当前进程使用CPU超过50%的进程,将它限制为20%
cpulimit -p `ps aux|awk '{if($3 > 50) print $2}'` -l 20 -i

帮助
   OPTIONS
      -l, --limit=N          percentage of cpu allowed from 0 to 100 (required)
      -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)
      -e, --exe=FILE         name of the executable program file or path name
      COMMAND          run this command and limit it (implies -z)

页: [1]
查看完整版本: Linux centos中,使用cpulimit 来限制CPU大小 百分比占用过高解决