我希望记录在Linux上运行的进程的CPU,内存,带宽。最终数据将存储在数据库中,但我的主要问题是如何访问这些数据以便首先登录。
我最初的想法是使用top命令,并解析我需要的数据。
你能想到一个更好的方法吗?
答案 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”的网络搜索将找到有关如何设置它的大量信息。