Linux性能监控的关键领域之一是CPU使用率和系统负载。 有几种Linux性能监视工具可以监视系统上的事情。
许多这些工具只需输出系统状态/统计信息,而另外几个工具则为您提供管理系统性能的方法。 一个这样的工具叫做CPUTool 。
CPUTool是一个简单而强大的命令行工具,用于将任何进程的CPU利用率限制和控制到给定的限制,并允许在系统负载超过定义的阈值时中断进程执行。
CPUTool如何工作?
为了限制CPU使用率,cputool将SIGSTOP和SIGCONT信号发送到进程,这由系统负载决定。 它依赖于/ proc伪文件系统来读取PID及其CPU使用度量。
如果系统负载超过阈值,则可将其用于将由单个进程或一组进程影响的CPU使用率或系统负载限制为给定的限制和/或暂停进程。
建议阅读: 了解Linux负载平均和监视Linux的性能
安装CPUTool以限制CPU使用和负载平均
CPUTool只能使用软件包管理工具从默认系统存储库安装到Debian / Ubuntu及其衍生产品。
$ sudo apt install cputool
使用CUPTool限制CPU使用
现在看看cputool如何真正的工作。 为了演示这一切,我们将运行一个dd命令 ,这将在后台产生高CPU百分比,并显示其PID。
# dd if=/dev/zero of=/dev/null &
为了监控CPU使用率,我们可以使用顶部或扫视工具,使我们能够查看正在运行的Linux系统进程的实时定期更新状态:
# top
监视dd命令CPU使用情况
从上面的输出可以看出, dd命令的CPU时间99.7%)
最高为99.7%)
现在我们可以使用cputool来限制它,如下所示。
--cpu-limit
或-c
标志用于设置进程或进程组的使用百分比, -p
指定PID。 以下命令会将dd命令(PID 8275)限制为使用一个CPU内核的50% :
# cputool --cpu-limit 50 -p 8275
运行cputool后,我们可以再次检查进程的新CPU使用情况(PID 8275)。 现在, dd进程的CPU使用率应该在( 49.0%-52.0% )之间。
# top
限制处理CPU到50%的使用
为了进一步限制dd的CPU使用率达到20% ,我们可以再次运行cputool:
# cputool --cpu-limit 20 -p 8275
然后立即检查使用顶部的工具或这样的扫视 ( dd的CPU使用率现在应在19.0%-22.0%之间或稍微超过此值):
# top
将CPU使用限制为20%
请注意,在cputool运行时,shell不会指望任何用户输入; 因此没有反应。 要杀死它(这将终止CPU使用限制操作),请按Ctrl + C
重要的是,要指定一个进程组(一个具有多个运行实例的程序,每个具有不同的PID),例如HTTP Web服务器:
# pidof apache2 9592 3643 3642 3641 3640 3638 3637 1780
使用-P
标志,如下所示:
# cputool --cpu-limit 20 -P 1780
使用CUPTool限制系统负载
-l
选项用于指定系统可能进入的最大负载,以便进程或进程组继续运行。 我们可以使用分数值(例如2.5 )。
下面的示例意味着仅当系统负载不超过3.5时为本地备份运行rsync :
# cputool --load-limit 3.5 --rsync -av /home/youcl /backup/`date +%Y-%m-%d`/
有关更多信息和用法,请查看CPUTool手册页:
# man cputool
请查看以下有用的指导,以查找CPU信息和CPU性能监视:
总之, CPUTool非常适合Linux性能管理。 请通过下面的反馈表单分享您对这篇文章的想法。