有没有经历过您打开一个特定应用程序(如Firefox)的情况,并使整个系统处于停顿状态?如果您正在运行Web服务器,最后一件事就是让应用程序崩溃整个系统并将所有网站关闭。
Cpulimit是一个可以限制进程CPU占用率的Linux应用程序。如果要限制特定的应用程序占用太多的CPU资源,从而破坏系统,这是非常有用的。当您需要同时运行多个密集程序时,这也是有用的。
Note: cpulimit应该适用于所有Linux发行版。在本教程中,我们将使用Ubuntu进行说明。
Installation
在Ubuntu中,您可以通过Ubuntu软件中心安装cpulimit,点击这里安装,或在terminal:
sudo中键入以下命令apt-get install cpulimitUsage
要限制进程,请使用命令
sudo cpulimit -p PID -l CPU?p34 PID是正在运行的应用程序的进程ID和CPU%是应用程序允许的CPU资源的百分比(0-100,仅数)。您可以从系统管理 - 系统监视器获取PID。
从上面的屏幕截图可以看出,在设置CPU限制之前,Swiftfox应用程序(Firefox的一个变体)占用了CPU资源的68%。让
%CPU立即下降到20%以下,再也没有超过20%。
扩展cpulimit此外,您还可以将其设置为对任何行为不正常的应用程序进行监控。这在服务器设置中特别有用。来自Ubuntu论坛的
abcuser已经提出了一个伟大的脚本,可以自动监控系统并限制任何超出预设CPU限制的进程。该脚本还允许您为特定应用程序设置黑名单/白名单。
在开始之前,请确保您安装了cpulimit和gawk。
sudo apt-get install cpulimit gawk
在这里下载脚本。将tar文件解压缩到您的Home文件夹。你应该在cpulimit folder: cpulimit_daemon里面有两个文件。sh和cpulimit。
打开cpulimit_daemon。sh文件在您的文本编辑器(gEdit)并更改以下内容:
CPU_LIMIT:这是每个应用程序可用的最大CPU资源。默认值为20%。
DAEMON_INTERVAL:这是脚本检查系统的时间间隔。默认设置为3秒。
BLACK_PROCESS_LIST:其中包含特定要监视的项目列表。你可以使用例如,
WHITE_PROCESSES_LIST:这包含您DON的项目列表你可以使用例如,
Note:一个或两个变量BLACK_PROCESSES_LIST和WHITE_PROCESSES_LIST必须为空。您可以
设置
复制cpulimit_daemon。sh文件到/ usr / bin / folder
sudo cp〜/ cpulimit / cpulimit_daemon。sh / usr / binsudo chmod 700 / usr / bin / cpulimit_daemon。sh
将cpulimit文件复制到/ etc / init。d /文件夹,设置必要的权限并使其在statup期间运行。
sudo cp〜/ cpulimit / cpulimit / etc / init。D /sudo chown root:root / etc / init。D /请将CPULimitsudo chmod x / etc / init。D /请将CPULimitsudo update-rcd cpulimit defaults
现在,重启系统。cpulimit守护进程应该自动启动。
您可以打开一个终端,并输入:
sudo服务cpulimit status
来检查cpulimit守护程序是否正在运行。如果没有运行,启动它与命令
sudo服务cpulimit start
或者,停止它与:
sudo服务cpulimit stopUninstalling
卸载,在这里停止cpulimit daemon
sudo服务cpulimit stop #停止cpulimit守护进程和所有cpulimited进程
2.从启动过程中删除守护进程
sudo update-rc。d -f cpulimit删除#删除符号links
3.删除启动过程
sudo rm / etc / init。d / cpulimit #删除cpulimit启动script
4.删除cpulimit daemon
sudo rm / usr / bin / cpulimit_daemon。sh #删除cpulimit守护程序script
5.卸载cpulimit程序
sudo apt-get删除cpulimit
可选,卸载gawk程序
sudo apt-get删除gawk
有关更多信息,请参阅Ubuntu论坛了解更多详细信息。
Code credit: abcuser从Ubuntu Forum
."