Linux限制每个进程的CPU使用率
时间:2020-01-09 14:16:09 来源:igfitidea点击:
我不想后台进程吃掉我所有的CPU。
我知道如何找出CPU使用率,但如何限制Linux操作系统下进程的cpu使用率?
如何强制某个过程将自身限制为25%?
您可以使用cpulimit程序尝试限制进程的cpu使用率。
限制以"百分比"表示,而不是以cpu时间表示。
cpulimit不会作用于nice值或其他调度优先级的东西,而是作用于实际的cpu用法。
而且,它能够动态,快速地适应整个系统的负载。
安装cpulimit
执行以下命令以安装最新的稳定版本:
# cd /tmp # wget 'http://downloads.sourceforge.net/cpulimit/cpulimit-1.1.tar.gz' # tar -zxvf cpulimit-1.1.tar.gz # cd cpulimit-1.1 # make # cp cpulimit /usr/local/sbin/ # rm -rf cpulimit*
关于Debian/Ubuntu Linux用户的说明
执行以下命令以安装cpulimit:
$ sudo apt-get update $ sudo apt-get install cpulimit
如何使用cpulimit?
要将名为firefox的进程的CPU使用率限制为30%,请输入:
# cpulimit -e firefox -l 30
要通过使用其PID将进程的CPU使用率限制为30%,请输入:
# cpulimit -p 1313 -l 30
要找出该过程的PID,请使用以下任何一种方法:
# ps aux | less # ps aux | grep firefox # pgrep -u Hyman php-cgi # pgrep lighttpd
您还可以使用可执行文件的绝对路径名,输入:
# cpulimit -P /opt/firefox/firebox -l 30
其中:
- -p:进程PID。
- -e:进程名称。
- -l:允许的CPU百分比(从0到100)。
- -P:可执行程序文件的绝对路径名。
root与普通用户帐户
cpulimit应该至少与运行受控进程的同一用户一起运行。
但是,如果以root用户身份运行cpulimit会更好,以便具有更高的优先级和更精确的控制。
关于SMP(多核/MultiCpu)系统的注意事项
再次引用项目网页:
如果您的计算机上有一个处理器,则可以将百分比范围从0%限制为100%,这意味着,例如,如果设置为50%,则您的进程每秒使用的CPU时间不能超过500毫秒。
但是,如果您的计算机有四个处理器,则百分比可能在0%到400%之间变化,因此将限制设置为200%意味着使用的可用功率不超过一半。
无论如何,该百分比与您获得最高收入时所看到的相同。
相关节流实用程序
- ionice实用程序避免备份Shell脚本/程序磁盘I/O突然爆发。
- 限制rsync工具的磁盘I/O。
- Linux nice命令:使用修改后的调度优先级运行进程(nicees)
- renice命令:更改已运行进程的优先级