监视linux进程很长一段时间并将其保存到文本文件或csv文件中

时间:2017-05-28 13:43:01

标签: linux performance io cpu monitor

我正在运行一个稳定性测试,其中包含几个重要的过程,我希望能够单独监视这些过程(CPU,内存,IO等),我知道我可以使用TOP命令但是使用此命令将导致仅查看实时指标,现在是整体或平均值,我可以将其导出到图表中,看看它是如何随着时间推移的。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您仍然可以使用top,将单个实例的输出打印到文件,然后使用grep隔离要查看的进程,然后使用awk选择你想要的领域。

这样的东西
top -n 1 -b > /tmp/log_top_running ; grep <process_name> /tmp/log_top_running | awk '{print $10}' >> <report_file>

将提取进程运行时间并将其附加到报告文件中。 -b是为了避免文件中的转义字符,-n 1在第一次刷新后终止top

这是你可以做的最基本的事情 - 你可以通过传递给top旗帜来做更聪明的事情,只打印你想看的东西。

要使其定期执行,您可以在脚本中编写此命令并使用watch命令,使用-n选项设置以秒为单位的间隔。获得文件后,您可以绘制它。

希望它有所帮助。