Linux下限制进程cpu使用率

Published on 2015 - 04 - 21

很用 Linux时可能大家经常发现莫名其妙就变的非常慢,这时多半是后台进程使用的cpu和内存太多了。如何限制每个进程的cpu使用资源呢?可以使用cpulimit限制每个进程的cpu使用率,使用率用百分百来表示。

安装cpulimit

使用源码安装

cd  /tmp
wget  'http://downloads.sourceforge.net/cpulimit/cpulimit-1.1.tar.gz'
tar  cpulimit-1.1.tar.gz
cd cpulimit-1.1
make
cp cpulimit  /usr/local/sbin/
rm -rf cpulimit*

Debian / Ubuntu 用户

sudo apt-get  update
sudo apt-get install cpulimit

如何使用cpulimit?

限制firefox使用30% cpu利用率

cpulimit -e firefox -l 30

限制进程号1313的程序使用30% cpu利用率

cpulimit -p 1313 -l 30

根据进程名找出pid的方法

ps aux | less
ps aux | grep firefox
pgrep -u vivek php-cgi
pgrep lighttpd

可以使用绝对路径限制进程的cpu利用率

cpulimit -P /opt/firefox/firebox -l 30

单核cpu和多核cpu

单核cpu的使用率范围为0%-100%,四核cpu的使用率范围为0%-400%.

相关工具

nice:以指定的优先级运行程序

renice: 调整以运行进程的优先级