一、准备工作
cpulimit是一个开源的cpu使用限制工具,可以针对某个进程名、pid等来限制cpu使用率。
安装:
http://cpulimit.sourceforge.net/
tar zxf cpulimit-xxx.tar.gz
cd cpulimit-xxx
make
如遇到[root@pekphis cpulimit-1.1]# make -bash: make: command not found
这样的报错,执行如下操作
yum -y install gcc automake autoconf libtool make
然后:scp cpulimit /usr/bin
,这样就可以使用cpulimit了
二、限制进程CPU使用率
cpulimit -l 20 -p 23615 &
当然也可以使用进程名限制进程的CPU使用率
三、提升linux的CPU使用率
#! /bin/sh
for i in `seq 1 $(cat /proc/cpuinfo | grep "physical id" | wc -l)`
do
dd if=/dev/zero of=/dev/null & #为每个cpu都创建一个dd进程,dd进程不会占用网络和磁盘io
done
sleep 5
for i in `ps aux | grep "dd if=/dev/zero of=/dev/null" | grep -v grep | awk -F ' ' '{print $2}'`
do
cpulimit -p $i -l 60 & # 限制每个dd进程使用60%的cpu。-p 指定进程号 -l 指定使用的cpu百分比
done
执行上面的脚本,可以看到:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14651 root 20 0 117496 840 660 T 61.1 0.0 4:07.43 dd if=/dev/zero of=/dev/null
14655 root 20 0 117496 840 660 T 60.8 0.0 4:07.57 dd if=/dev/zero of=/dev/null
14654 root 20 0 117496 836 660 T 60.5 0.0 4:07.60 dd if=/dev/zero of=/dev/null
14650 root 20 0 117496 840 660 T 59.8 0.0 4:07.75 dd if=/dev/zero of=/dev/null
14652 root 20 0 117496 840 660 T 59.8 0.0 4:07.75 dd if=/dev/zero of=/dev/null
14653 root 20 0 117496 840 660 T 59.8 0.0 4:07.63 dd if=/dev/zero of=/dev/null
14656 root 20 0 117496 840 660 T 59.8 0.0 4:07.52 dd if=/dev/zero of=/dev/null
14657 root 20 0 117496 840 660 T 59.8 0.0 4:07.61 dd if=/dev/zero of=/dev/null