监控和绘制每个进程和每个线程的 CPU 使用率

Vla*_*adV 5 linux monitoring performance-monitoring cpu-usage

我需要监视给定进程及其每个线程的 CPU 使用率。
对于他们每个人,我想要:

  • 平均和最大 CPU 使用率百分比,
  • 捕获期间使用的总 CPU 时间,
  • CPU 使用率随时间变化的图表,
  • 以上所有分别针对用户和系统模式。

我发现了一些对 sysstat/sar、collectd、munin、naggios 的引用,但我不确定它们是否具有我需要的功能。

系统是 Ubuntu Hardy。

Twi*_*rim 3

哎呀..这是一项艰巨的任务。

像 Munin、cacti 或 zabbix 这样的软件可能是最合适的,并且可以轻松涵盖第一点和第三点。我怀疑穆宁可能是这三者中最简单的一个。第二个和第四个稍微棘手一些。我不确定是否有任何监控系统可以为您提供一段时间内的总 CPU 时间。通常,系统指标收集的重点是“出了什么问题”,而不是系统核算。希望其他人可以提出建议。

作为第 4 点的起点,您需要启用进程统计功能,该功能长期以来一直是 Linux 中不可或缺的一部分。这里有一些很好的细节:http://shibuvarkala.blogspot.com/2009/04/howto-enable-process-accounting-in.html,它将帮助您开始启用流程记帐并阅读它返回的信息。

建议使用 Munin 的原因之一是编写插件相对简单,而且我怀疑您需要这样做来实现您想要实现的目标。

希望我能提供更多帮助。