【问题标题】:Monitoring system performance in Linux server with the top command使用 top 命令监控 Linux 服务器中的系统性能
【发布时间】:2013-04-09 18:21:29
【问题描述】:

我正在尝试将系统性能信息(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。我们将不胜感激。

【问题讨论】:

    标签: linux shell unix redhat


    【解决方案1】:

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

    【讨论】:

    • 我想在一个持续运行的 shell 脚本中进行。 ps命令可以做到吗?
    • 您可以使用:ps -p -o %cpu,%mem,cmd 并获取输出 - 您可以选择许多标志选项。
    猜你喜欢
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 2011-08-31
    • 2021-03-16
    • 1970-01-01
    相关资源
    最近更新 更多