使用CPULimit工具在Linux中限制CPU使用情况

在之前的一篇文章中,我们已经解释了CPUTool,用于限制和控制 Linux中任何进程的CPU利用率 如果CPU /系统负载超出定义的阈值,它允许系统管理员中断进程(或进程组)的执行。 在这里,我们将学习如何使用类似的工具cpulimit

Cpulimit用于以与CPUTool相同的方式限制进程的CPU使用率,但与其对应方案相比,它提供了更多的使用选项。 一个重要的区别是,cpulimit不像cputool那样管理系统负载。

建议阅读: 9在Linux上获取CPU信息的有用命令

安装CPULimit以限制CPU在Linux中的使用过程

CPULimit可以使用软件包管理工具从Debian / Ubuntu及其衍生软件的默认软件库进行安装。

$ sudo apt install cpulimit

RHEL / CentOSFedora中 ,您需要首先启用EPEL存储库 ,然后安装cpulimit,如图所示。

#yum install epel-release
#yum install cpulimit

使用CUPLimit限制CPU使用率

在本小节中,我们将介绍cpulimit的工作原理。 首先,让我们在后台运行一个命令(我们在覆盖cputool时看到的同样的dd命令 ),这个命令应该导致CPU占用率很高(注意在运行命令后打印出进程PID)。

$ dd if=/dev/zero of=/dev/null &
[1] 17918

接下来,我们可以使用输出正在运行的Linux系统的实际频繁更新状态的顶部扫视工具来观察上述命令的CPU使用情况。

$ top
监控Linux中的CPU使用情况

监控Linux中的CPU使用情况

看看上面的输出,我们可以看到dd进程正在利用最高百分比的CPU时间100.0%

但是我们可以使用cputlimit来限制这一点,如下所示。 --pid-p选项用于指定PID,-- --limit-l用于设置进程的使用百分比。

以下命令将dd命令PID 17918 )限制为使用一个CPU内核的50%

$ sudo cpulimit --pid 17918 --limit 50  
Process 17918 detected

一旦我们运行cpulimit,我们可以使用top或glance来查看dd命令的当前CPU使用情况。 从输出值的范围为( 51.5%-55.0%或略高于)。

在Linux中限制CPU使用过程

在Linux中限制CPU使用过程

我们可以第二次调整其CPU使用率,如下所示,此次进一步降低百分比如下:

$ sudo cpulimit --pid 17918 --limit 20 
Process 17918 detected

像我们以前一样,我们可以运行顶部或扫视来查看进程的新CPU使用率,范围为20%-25.0%或略高于此值。

$ top
Linux中的CPU CPU使用情况

Linux中的CPU CPU使用情况

注意 :shell变得非交互式 - 当cpulimit运行时,不会指望任何用户输入。 要杀死它(应该停止CPU使用限制操作),请按[Ctrl + C]

要运行cpulimit作为后台进程,请使用--background-b开关,释放终端。

$ sudo cpulimit --pid 17918 --limit 20 --background

要指定系统中存在的CPU核心数量,请使用--cpu-c标志(通常会自动检测)。

$ sudo cpulimit --pid 17918 --limit 20 --cpu 4

而不是限制进程的CPU使用率,我们可以用--kill-k选项来杀死它。 信号发送到进程的信号是SIGCONT ,但要发送不同的信号,请使用--signal-s标志。

$ sudo cpulimit --pid 17918 --limit 20 --kill 

如果没有合适的目标进程,或者如果它死机,则退出,包括这样的-z--lazy

$ sudo cpulimit --pid 17918 --limit 20 --kill --lazy

有关其他信息和使用选项,请查看cpulimit手册页。

$ man cpulimit

请查看以下有用的指南,以查找CPU信息和CPU /系统性能监视。

  1. 通过Linux中最高内存和CPU使用情况查找最佳运行进程
  2. Cpustat - 通过在Linux中运行进程监视CPU利用率
  3. 通过Linux中最高内存和CPU使用情况查找最佳运行进程
  4. 20个用于监视Linux性能的命令行工具
  5. 13 Linux性能监控工具 - 第2部分

相比之下,在测试CPUToolCPULimit之后 ,我们注意到前者提供了更有效和可靠的“CPU使用限制”功能。

这是根据给定进程运行这两种工具后观察到的CPU使用率的百分比范围。 尝试这两种工具,并使用下面的反馈表将您的想法添加到本文中。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏