用cpulimit 动态限制进程cpu使用率

cpulimit 是一款小巧的控制系统某个进程的cpu 使用率

安装方式:

apt-get install cpulimit

可以通过下面三种方式选择限制进程:

1 进程名 -e exe
2 进程id -p pid
3 进程绝对路径 -P /root/xxx

下面的例子是限制进程abc 的cpu 使用率不超过75%:

cpulimit -e abc -l 75

如果要想动态限制其使用率,用随机数来指定limit 参数,写一个sh 脚本 limitcpu.sh

#!/bin/bash

output=`ps aux | grep cpulimit`
set -- $output
pid=$2
echo '-----'
echo $pid
kill -9 $2

limit=$(( RANDOM % (85 - 25 + 1 ) + 25 ))
echo $limit
cpulimit --exe=xmx --limit=$limit --lazy --background

上面的脚本是先寻找当前cpulimit 的pid 并干掉,然后取个随机limit 传给cpulimit。

编辑crontab,添加一个定时循环运行任务,让它每5分钟改变一次limit

*/5 * * * * /root/limitcpu.sh

cpulimit 项目地址 https://github.com/opsengine/cpulimit 11