是否有 FreeBSD 命令(除了top -P
)可用于监控我的专用服务器 CPU 使用率?我正在编写 bash 脚本,该脚本将在任何 CPU 核心达到 100% 使用率时立即通知我。
这就是为什么我需要一些其他命令,top -P
因为第一次运行时计算使用情况需要一些时间top
,并且对于每个使用命令不起作用。
答案1
CPU 负载信息可以在 shell 脚本中获取sysctl kern.cp_times
。这是累计计数器,要获取百分比负载,您需要导数,例如,以 1 分钟为间隔获取 kern.cp_times,然后将计数器除以 60。
但更易于使用现有的监控系统如Nagios(有很多监控系统,但没有完美的,我无法建议最好的系统)。
答案2
您可以随时安装sysstat
然后执行以下操作:sar -u | grep 'Average' | awk '{print 100-$8}'
这将占用 100 并删除空闲百分比。