如何使用 cpulimit 限制 Linux 中进程的 CPU 使用率

当您在 Linux 系统上工作时,许多进程在后台运行。 这些进程以 CPU 使用率和时间的形式占用系统资源。

虽然在大多数情况下,操作系统会自动管理这些进程,但有时由于处理繁重或开发不佳,资源密集型进程可能会过度使用 CPU。 答案通常是直接杀死进程或将其CPU使用限制在一定限度内。

幸运的是,在 Linux 上,您可以使用名为 cpulimit.

如何识别 CPU 使用率高的进程

在限制进程可以使用的系统资源百分比之前,您需要找到该特定进程的进程 ID。 进程 ID(或 PID)是系统用来标识进程的唯一编号。

在 Linux 上,有几种方法可以获取与进程相关的详细信息。 您可以使用 最佳 命令以获取当前在您的系统上运行的进程列表。

top

输出:

%中央处理器 列显示特定进程正在使用的 CPU 百分比。 如果您的计算机尝试处理的数据超出其能力范围,则某些特定进程的 CPU 使用率将达到 100%。 检查表格以查看是否有任何 CPU 使用率高的进程。

找到 CPU 使用率高的进程后,记下它的 PID。 进程 ID 对于限制进程的使用很重要。

使用 cpulimit 限制 CPU 使用率

如上所述,cpulimit 是一个命令行实用程序,可对计算机上特定进程使用的系统资源量添加限制。 由于大多数 Linux 发行版都没有预装 cpulimit,因此您必须手动安装它。

您可以在 Ubuntu 和其他基于 Debian 的发行版上安装该软件包,如下所示:

sudo apt install cpulimit

在 Manjaro Linux 等基于 Arch 的发行版上:

sudo pacman -S cpulimit

Cpulimit 在 EPEL(企业 Linux 的额外软件包)存储库中可用。 因此,要在 CentOS 和 RHEL 发行版上安装它,您必须首先启用 EPEL 存储库。

yum install epel-release
yum install cpulimit

基本语法

要使用 cpulimit,您必须使用命令传递以下三个参数之一:

  1. -p 或者 –pid: 进程的进程ID
  2. -e 或者 – 可执行程序: 可执行文件的名称
  3. -P 或者 – 小路: 可执行文件的绝对路径

该命令的基本语法是:

cpulimit -p pid
cpulimit -e executablename
cpulimit -P /path-to-executable

限制进程的 CPU 使用率

您可以使用 – 限制 或者 -l cpulimit 实用程序的标志来为进程可以使用的资源添加限制。 要强制 PID 为 81550 的进程仅使用 50% 的 CPU:

sudo cpulimit -p 81550 --limit 50

在这里,只要进程在运行,cpulimit 就会限制进程的 CPU 使用率。 如果停止执行 cpulimit,则该特定进程的 CPU 使用率将恢复正常。

防止此问题的一个很好的解决方案是在后台运行 cpulimit。 您可以添加 – 背景 或者 -b 使用命令标记以将命令发送到后台。

sudo cpulimit -p 81550 --limit 50 --background

如果 – 背景 选项不起作用,您可以添加一个 与号 (&) 命令后将其发送到后台。

sudo cpulimit -p 81550 --limit 50 &

使用 top 命令检查上述命令是否有效。

您可能已经注意到, dd 命令下降到 48.8%。

使用 PID 杀死进程

除了限制 CPU 使用率之外,您还可以通过使用 – 杀 旗帜。

sudo cpulimit -p 81550 --limit 50 --kill

Linux 中更智能的进程管理

如果您经常遇到 CPU 使用率高的进程,Cpulimit 是一个很棒的实用程序。 不熟悉命令行的 GNOME 用户也可以 使用系统监视器来管理进程 在他们的系统上。

除了使用 cpulimit 之类的工具外,您还可以在 Linux 上降低优先级,以减少为特定进程提供的资源。 这 好的雷尼斯 在 Linux 中管理进程优先级时,命令是救命稻草。