CPULimit,限制进程对CPU的使用

关于CPULimit

在下一篇文章中,我们将看一下CPULimit。 这是一个命令行工具, 限制进程的CPU使用率(以百分比表示,而不是CPU时间)。 当我们不希望进程消耗太多的CPU周期时,这对于控制批处理作业很有用。

使用此工具,我们不会更改值或其他优先级设置,而会更改CPU的实际使用情况。 另外,它能够动态,快速地适应系统的一般负载。 通过使用以下命令控制使用的CPU数量 旅游Senales 停止信号 y 信号控制 POSIX 到流程。 指定进程的所有子进程和线程将共享相同的CPU百分比。

安装CPULimit

现“ CPULimit”为 在大多数类似Unix发行版的默认存储库中可用。 我们可以使用各自的Gnu / Linux发行版中的默认软件包管理器进行安装。 对于当前的示例,我们将看到如何在Debian,Ubuntu和Linux Mint上安装它。 我们只需要打开一个终端(Ctrl + Alt + T)并在其中编写以下命令:

sudo apt-get install cpulimit

谁愿意咨询其他类型的设施 项目GitHub页面.

使用CPULimit

安装该工具后,就该看看它是如何工作的。 为此,我们将运行一个消耗大量CPU资源的程序。 以下命令必须以root用户身份运行。

创建消耗CPU资源的脚本

首先我们要 创建一个名为derrochecpu.sh的文件。 我将使用 Vim编辑器,但每个人都使用自己喜欢的一种。 在终端(Ctrl + Alt + T)中,我们必须编写:

vim derrochecpu.sh

打开后,我们将按“键ESC' 进而 'i'。 现在,我们将添加以下行:

vim脚本splurgecpu

#!/bin/bash
while :; do :; done;

完成此操作后,就该保存并退出了。 为此,我们将按'键ESC'我们将写 :WQ 保存并关闭文件。 这个简短的脚本将重复执行,从而无缝地消耗最大的CPU使用率。 因此,建议在虚拟机中对其进行测试。

现在,我们将使该文件可执行。 为此,从同一终端(Ctrl + Alt + T),我们将执行:

chmod +x derrochecpu.sh

启动脚本

现在,我们将在后台启动该过程。 我们将使用以下命令执行此操作:

./derrochecpu.sh &

PID脚本splurgeCPU

我们将保留过程的PID。 在这种情况下,6472是启动进程的PID。

检查它消耗了多少CPU

我们可以使用 命令«顶部» 在同一终端:

顶级脚本splurgeCPU

top

从上面的屏幕截图可以看出,wastecpu.sh进程消耗了超过96%的CPU使用率。 由于它消耗大量的CPU使用率,因此很难执行其他任务。 几分钟后, 系统可能崩溃或死机。 这就是CPULimt协助我们的地方。

通过PID限制CPU使用率

现在,让我们使用CPULimit工具限制此进程的CPU使用率。 我们准备去 通过其相应的PID将CPU使用率限制为35% (关于)。 为此,请运行:

cpulimit -l 35 -p 6472 &
  • 选项 ”-l 35»将过程限制为大约35%。
  • «-p 6472»这是我们之前看到的derrochecpu.sh的PID。

检查CPULimit的效果

启动上一个命令后,让我们再次检查该进程的CPU使用率。 为此,我们将再次使用top命令:

顶级脚本CPULimit浪费

top

如上图所示,wastefulcpu.sh的CPU使用率已降至35,6%,非常接近35%。 现在呀 我们可以拥有更多的CPU资源来运行其他进程.

通过文件名限制CPU使用率

我们已经看到了如何使用PID来限制过程。 也 我们可以执行CPULimit命令,指定可执行程序文件的名称.

例如,上面的相同示例将是:

cpulimit -l 30 ./derrochecpu.sh &

在运行消耗过多CPU使用量的进程时,CPULimit可能很有用。 下次我们注意到某个程序消耗了太多的CPU时,我们只需要使用命令«查找该进程的PID,最佳«。 有了它时,只需使用本文所述的CPULimit命令将CPU使用率限制为最小值。

卸载CPULimit

从我们的系统中删除此工具非常简单,只需打开一个终端(Ctrl + Alt + T)并输入以下内容即可:

sudo apt remove cpulimit

本文描述了什么 这只是一个例子。 显然,没有人会在自己的计算机上启动像此处描述的脚本那样的脚本。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   贾普

    你好
    对于我所拥有的amd64 x2似乎有散热问题的旧PC而言,它是完美的选择,当某个进程在几分钟内消耗大量CPU时,它会加热到100ºC并关闭。
    因此,当我看到某个进程(通常是某些网站或视频渲染程序)使我升高CPU的温度时,我将使用cpulimit来消除该进程中的“电源”。
    谢谢