cpulimit的使用方法
2020-10-21 09:37 宋海宾 阅读(2512) 评论(1) 编辑 收藏 举报在之前的一篇文章中,我们已经解释了CPUTool,用于限制和控制 Linux中任何进程的CPU利用率 。 如果CPU /系统负载超出定义的阈值,它允许系统管理员中断进程(或进程组)的执行。 在这里,我们将学习如何使用类似的工具cpulimit 。
Cpulimit用于以与CPUTool相同的方式限制进程的CPU使用率,但与其对应方案相比,它提供了更多的使用选项。 一个重要的区别是,cpulimit不像cputool那样管理系统负载。
建议阅读: 9在Linux上获取CPU信息的有用命令
安装CPULimit以限制CPU在Linux中的使用过程
CPULimit可以使用软件包管理工具从Debian / Ubuntu及其衍生软件的默认软件库进行安装。
$ sudo apt install cpulimit
在RHEL / CentOS和Fedora中 ,您需要首先启用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使用情况
看看上面的输出,我们可以看到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使用过程
我们可以第二次调整其CPU使用率,如下所示,此次进一步降低百分比如下:
$ sudo cpulimit --pid 17918 --limit 20
Process 17918 detected
像我们以前一样,我们可以运行顶部或扫视来查看进程的新CPU使用率,范围为20%-25.0%或略高于此值。
$ top

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 /系统性能监视。
- 通过Linux中最高内存和CPU使用情况查找最佳运行进程
- Cpustat - 通过在Linux中运行进程监视CPU利用率
- CoreFreq - 用于Linux系统的强大的CPU监控工具
- 通过Linux中最高内存和CPU使用情况查找最佳运行进程
- 20个用于监视Linux性能的命令行工具
- 13 Linux性能监控工具 - 第2部分
相比之下,在测试CPUTool和CPULimit之后 ,我们注意到前者提供了更有效和可靠的“CPU使用限制”功能。
这是根据给定进程运行这两种工具后观察到的CPU使用率的百分比范围。 尝试这两种工具,并使用下面的反馈表将您的想法添加到本文中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架