CPU 的使用率过高会影响 Linux 系统的使用体验,如导致 CPU 温度过高,影响使用寿命等。本篇介绍如何限制 CPU 使用率,保持 Linux 系统的正常、稳定运行。以 Ubuntu 18.04 为例,所有命令以普通用户运行。

安装 cpulimit

Ubuntu/Debian 系统安装方法如下:

1
2
sudo apt update
sudo apt install cpulimit

Centos/RedHat 系统安装方法如下:

1
sudo yum install cpulimit

使用方法

1
2
3
# NUM 为整数值,默认为对 1 个 CPU的限制,多个 CPU 时可以累计,如 NUM * CPU_NUM
# PID 为进程 ID,限制该进程的 CPU 使用率为 NUM%
cpulimit -l NUM -p PID

常用参数:

  1. -e 按照程序名限制;

  2. -P 按照程序绝对路径限制;

  3. -b 后台运行 cpulimit;

  4. -f 前台运行;

  5. -l 允许的CPU百分比,最低为1%.

注意:

  1. 更多参数可通过 man cpulimit 查看;
  2. 限制 CPU 的百分比按照实际的 CPU 数量而定,比如单核最高为 100%,双核最高为 200%,三核最高为 300%,以此类推即可;
  3. root 用户可以限制所有的进程,普通用户只能限制用户有权限管理的进程。

示例

限制 CPU 使用率最高的进程的 CPU 使用率为 50%. (top 命令的使用参考:linux 利用 top 命令进行动态监控)

1
2
3
4
# 获取 CPU 使用率最高的进程 ID,输入下面的 top 命令后,按 P 以CPU使用率排序进程
top
# 限制该进程的 CPU 使用率为 50%
cpulimit -p PID -l 50

根据软件的绝对路径限制

1
cpulimit -e /usr/local/nginx/sbin/nginx -l 60

根据程序名限制

1
cpulimit -e xmrig -l 60

参考文献

  1. Linux使用cpulimit对CPU使用率进行限制