如何在Linux上记录进程的CPU,内存,带宽?

时间:2011-01-05 18:32:34

标签: linux logging command-line

我希望记录在Linux上运行的进程的CPU,内存,带宽。最终数据将存储在数据库中,但我的主要问题是如何访问这些数据以便首先登录。

我最初的想法是使用top命令,并解析我需要的数据。

你能想到一个更好的方法吗?

3 个答案:

答案 0 :(得分:2)

查看the /proc pseudo filesystem - 你可以从任何地方的脚本,编译程序中读取文件。

我已经实现了一个类似的系统并广泛使用'sar',使用'awk'解析输出,但是'perl','python'或任何其他类似的工作也可以。我让这些脚本中的每一个都输出CSV,然后将CSV批量加载到MySQL中,以便以后通过PHP查询/绘图。

答案 1 :(得分:0)

您可以将 ps 用于CPU和内存,例如:

ps -eo pid,user,args,%mem,%cpu

然后解析输出。

答案 2 :(得分:0)

可以将内核配置为使用“进程记帐”来执行此操作。对它和“linux”的网络搜索将找到有关如何设置它的大量信息。