我正在尝试使用uptime
. 在我的 debian 盒子上,我使用了以下内容:
$ for ((i=0;i<=1000000000;i++)); 正常运行时间;完毕
然而看top
,18%的CPU被分配给了bash
!这意味着我的正常运行时间检查过于激进。
如何轻轻检查平均负载?
我正在尝试使用uptime
. 在我的 debian 盒子上,我使用了以下内容:
$ for ((i=0;i<=1000000000;i++)); 正常运行时间;完毕
然而看top
,18%的CPU被分配给了bash
!这意味着我的正常运行时间检查过于激进。
如何轻轻检查平均负载?
你试过
watch
吗?这不是运行像Monit这样的轻量级监控守护进程的好案例吗?您可以设置阈值并在某些条件下让系统向您发送电子邮件...
另外,
top
这里有选择吗?您的示例代码正在查询正常运行时间,因为系统可以发出串行正常运行时间命令,这不是您想要的。
您需要使用一种工具,该工具将按时间间隔进行查询(轮询)。
您现有的代码可以通过添加睡眠语句来“修复”。这将导致轮询粒度减小,但您的监控导致的开销会减少。该样本将每分钟检查一次。
也就是说,您真的想使用一个为监控而构建的工具,而不是自己编写。