您是否希望限制 Linux 服务器上特定进程或应用程序的 CPU 使用率?CPULimit 是 Linux 中的一个工具,用于限制进程的 CPU 使用率。它可以防止应用程序在相当长的一段时间内使用整个内核。在 PC 上运行的每个应用程序都会消耗处理器的电量,如果最终将许多应用程序一起使用,它们会因使用过多的处理器电量而降低计算机的速度,因此,CPULimit 可用于限制这种使用,并防止处理器过度使用电量.
CPULimit 安装要求
安装 CPULimit 主要有 3 个要求。首先,需要一个可以运行 CentOS 7 的 64 位服务器(我们将在本教程中使用基于 CentOS 7 的服务器)。其次,需要sudo 或 root 访问权限。最后,make、screen 和 wget是必需的,因此请在继续之前将它们安装在您的服务器上。
如何安装 CPULimit
安装过程如下:
1.第一步涉及下载CPULimit后提取tarball:
cd ~ wget https://astuteinternet.dl.sourceforge.net/project/limitcpu/limitcpu/cpulimit-2.5.tar.gz tar -xvf cpulimit-2.5.tar.gz
2.下一步包括进入在步骤1中创建的目录:
cd cpulimit-2.5
3.为了将CPULimit编译成二进制,make的用法如下:
make
4.第三步使 cpulimit-2.5 目录中的二进制文件可用。为完成安装过程,最终命令如下:
make install
CPULimit 的工作原理
CPULimit 的基本工作原理是快速终止或启动应用程序,以便将 CPU 使用率限制在较少的周期数内。但是,发送停止信号:(SIGSTOP) 时可以终止的应用程序不应与 CPULimit 一起使用。
如何配置 CPULimit
接下来我们需要知道的是PID (即进程 ID)。这可以通过使用“top”命令来完成:top -c
现在应该显示正在运行的进程,例如下面:
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.2 us, 0.0 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 3881740 total, 191952 free, 413472 used, 3276316 buff/cache KiB Swap: 4063228 total, 4062912 free, 316 used. 2881364 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1336 plex 35 15 1368172 67464 6668 S 0.3 1.7 155:41.58 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-995f1dead+ 31345 root 20 0 326572 21844 12784 S 0.3 0.6 86:45.32 docker-containerd --config /var/run/docker/containerd/containerd.toml 1 root 20 0 193704 6744 4088 S 0.0 0.2 6:49.22 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 2 root 20 0 0 0 0 S 0.0 0.0 0:01.45 [kthreadd] 3 root 20 0 0 0 0 S 0.0 0.0 0:12.77 [ksoftirqd/0] 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kworker/0:0H] 7 root rt 0 0 0 0 S 0.0 0.0 0:13.95 [migration/0]
现在在上面的示例中 – 假设Plex需要限制为 10% 的 CPU 利用率。您将需要在屏幕中运行命令,如下所示:
screen -S limitcpucpulimit -p 1336 -l 10
Ctrl+A+D命令可用于离开屏幕。
总体而言,以下代码用作 CPULimit 的格式:
cpulimit -p (PROCESS PID) -l (CPU %)
你在你的环境中使用 cpulimit 吗?我们很乐意在下面听到您的评论!