如何限制Linux进程的CPU使用率如何限制Linux进程的CPU使用率如何限制Linux进程的CPU使用率如何限制Linux进程的CPU使用率
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

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

如果您是 Linux 系统管理员,有时您希望限制某个进程的 CPU 使用率,以便该进程在任何时候都不会占用超过 X% 的 CPU 资源。 cpulimit 是一个命令行 Linux 程序,它可以做到这一点,即以百分比形式限制 Linux 进程的 CPU 使用率。它作为守护进程监视指定进程的CPU使用率,并动态调整其CPU利用率。

在 Linux 上安装 cpulimit

要在 Ubuntu 或 Debian 上安装 cpulimit:

$ sudo apt-get install cpulimit

要在 Fedora 上安装 cpulimit:


$ sudo yum install cpulimit

要在 CentOS 或 RHEL 上安装 cpulimit,请首先在系统上启用 EPEL 存储库,然后运行:


$ sudo yum install cpulimit

使用cpulimit限制进程的CPU使用率

cpulimit 的示例用法如下所示:

$ sudo cpulimit -p 8645 -l 10
$ sudo cpulimit -e /usr/local/bin/myprog -l 20

第一个命令监视 PID 为 8645 的进程的 CPU 使用率,并将其 CPU 使用率限制为 10%。同样,第二个命令将 /usr/local/bin/myprog 的 CPU 使用率限制为 20%。

cpulimit 程序作为用户空间守护进程运行,它向指定的 Linux 进程发送 SIGSTOP 和 SIGCONT 信号以动态调整其 CPU 使用率。请注意,cpulimit 必须由 root 或被监视进程的所有者执行。从概念上讲,cpulimit 的工作原理如下。

while (1) {
     wait for some time
     send SIGSTOP to the process
     wait for some time
     send SIGCONT to the process
}

Debian 测试表明 cpulimit 不支持 SMP。也就是说,指定 -l X 实际上意味着X% 的一个 CPU。例如,如果您在双核计算机上设置 -l 100,则会将可用 CPU 资源的使用限制为 50%。

请注意,cpulimit 不适用于某些特定的内核进程,例如 kcryptd 或 kworker,它们只是忽略 SIGSTOP 信号。

©2015-2025 艾丽卡 support@alaica.com