linux - 使用top命令监控Linux服务器的系统性能

标签 linux shell unix redhat

我正在尝试将系统性能信息(PID、用户、CPU、MEM 和时间)提取到 Excel 文件中。我将通过 shell 脚本来完成此操作。我尝试了 top 命令。它拥有所有信息,但它也拥有所有子进程信息。有没有一种方法可以将所有子进程与父进程聚合起来,以便我可以查看一个进程并说它花了很长时间才能完成。另外,有没有办法用top命令显示和拉取PPID信息?如果有其他方法可以做到这一点,我也愿意这样做。我想将所有子进程与父进程聚合起来,并查看不同用户的系统性能。这是我在 shell 脚本中尝试过的代码。

top -n1 -b \
|awk '{if (($1 ~ /^[0-9]/) || ($0 ~ /PID/ )) { 
  print $1","$2","$4","$5","$6","$7","$8","$9","$10","$11","$12","$13","$14","$15; } 
 }' > file.csv

我使用的是红帽Linux。我们将不胜感激。

最佳答案

您应该能够通过直接读取/proc 来实现您所要求的目标。这本质上就是顶级、免费等获取数据的方式。
参见例如http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-proc.html 或 man proc

关于linux - 使用top命令监控Linux服务器的系统性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15909555/

相关文章:

linux - awk 在第 1 列中打印大于零的行

linux - 如何 sed 或 grep 2 个特殊字符之间的内容并修改输出

c - 关闭写入器后从管道读取被阻塞

perl - 为什么 `perl -V:ptrsize` 返回 4 时我能够加载 4.19 GB 内存?

linux - 如何在 grep 中显示搜索词

linux - 想通过 ansible 运行简单的 root 命令

windows - cmd.exe 命令行中必须转义哪些符号?

linux - awk的系统命令

c++ - C++中的进程间通信

linux - GNU 汇编程序 sys_write 不工作