unix – 如何在文件中重定向top命令的输出

前端之家收集整理的这篇文章主要介绍了unix – 如何在文件中重定向top命令的输出前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为了监视系统的目的,我需要将top命令的输出重定向到一个文件中,这样我就可以使用/解析它.
我试图做同样的事情,但cpu性能统计数据没有保存在文件中看到
屏幕截图.
预期产量:
[root@v100 /usr/local/bin]# top
last pid:  6959;  load averages:  0.01,0.03,0.03                                                                                   up 0+02:47:34  17:51:16
114 processes: 1 running,108 sleeping,5 zombie
cpu:  0.0% user,0.0% nice,1.6% system,0.0% interrupt,98.4% idle
Mem: 734M Active,515M Inact,226M Wired,212M Buf,491M Free
Swap: 4095M Total,4095M Free

 PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   Wcpu COMMAND
 1953 root      150  20    0  3084M   635M uwait    2:44  0.00% java
 1663 MysqL      46  20    0   400M   139M sbwait   1:29  0.00% MysqLd
 1354 root       31  20    0 94020K 50796K uwait    0:24  0.00% beam
 4233 root        1  20    0   122M 23940K select   0:06  0.00% python
 1700 zabbix      1  20    0 20096K  2436K nanslp   0:03  0.00% zabbix_agentd
 1799 zabbix      1  20    0   103M  7240K nanslp   0:02  0.00% zabbix_server
 4222 root        1  30    0   122M 23300K select   0:02  0.00% python
 1696 zabbix      1  20    0 19968K  2424K nanslp   0:02  0.00% zabbix_agentd
 2853 root        1  20    0   126M 29780K select   0:02  0.00% python
 1793 zabbix      1  20    0   103M  7152K nanslp   0:01  0.00% zabbix_server
 1797 zabbix      1  20    0   103M  8348K nanslp   0:01  0.00% zabbix_server
 1752 root        1  20    0   122M 22344K select   0:01  0.00% python
 1796 zabbix      1  20    0   103M  8136K nanslp   0:01  0.00% zabbix_server
 1795 zabbix      1  20    0   103M  8208K nanslp   0:01  0.00% zabbix_server
 1801 zabbix      1  20    0   103M  7100K nanslp   0:01  0.00% zabbix_server
 3392 root        1  20    0   122M 23392K select   0:01  0.00% python
 1798 zabbix      1  20    0   103M  7860K nanslp   0:01  0.00% zabbix_server
 2812 root        1  20    0   134M 25184K select   0:01  0.00% python
 1791 zabbix      1  20    0   103M  7188K nanslp   0:01  0.00% zabbix_server
 1827 root        1 -52   r0 14368K  1400K nanslp   0:01  0.00% watchdogd
 1790 zabbix      1  20    0   103M  7164K nanslp   0:01  0.00% zabbix_server
 1778 zabbix      1  20    0   103M  8608K nanslp   0:01  0.00% zabbix_server
 1780 zabbix      1  20    0   103M  8608K nanslp   0:01  0.00% zabbix_server
 2928 root        1  20    0   122M 23272K select   0:01  0.00% python
 2960 root        1  20    0   116M 22288K select   0:01  0.00% python
 1776 zabbix      1  20    0   103M  7248K nanslp   0:01  0.00% zabbix_server
 2892 root        1  20    0   122M 22648K select   0:01  0.00% python
 1789 zabbix      1  20    0   103M  7128K nanslp   0:01  0.00% zabbix_server
 1814 root        1  20    0   216M 15796K select   0:01  0.00% httpd
 1779 zabbix      1  20    0   103M  8608K nanslp   0:01  0.00% zabbix_server
 1783 zabbix      1  20    0   103M  8608K nanslp   0:01  0.00% zabbix_server
 1800 zabbix      1  20    0   103M  7124K nanslp   0:01  0.00% zabbix_server
 1782 zabbix      1  20    0   103M  8608K nanslp   0:01  0.00% zabbix_server
 1781 zabbix      1  20    0   103M  8608K nanslp   0:00  0.00% zabbix_server
 1792 zabbix      1  20    0   103M  7172K nanslp   0:00  0.00% zabbix_server
 2259 root        2  20    0 48088K  4112K uwait    0:00  0.00% cb_heuristics

如果我做:

[root@v100 /usr/local/bin]# top > /tmp/top.output

然后它显示

[root@v100 /usr/local/bin]# cat /tmp/top.output

 last pid:  7080;  load averages:  0.09,0.06,0.03  up 0+02:52:24    17:56:06
 114 processes: 1 running,5 zombie

 Mem: 731M Active,219M Wired,501M Free
 Swap: 4095M Total,4095M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   Wcpu COMMAND
  1953 root      150  20    0  3084M   633M uwait    2:17  0.00% java
  1663 MysqL      46  20    0   400M   136M sbwait   1:08  0.00% MysqLd
  1354 root       31  20    0 94020K 49924K uwait    0:18  0.00% beam
  4233 root        1  20    0   122M 23776K select   0:04  0.00% python
  1700 zabbix      1  20    0 20096K  2436K nanslp   0:02  0.00% zabbix_agentd
  1799 zabbix      1  20    0   103M  7240K nanslp   0:01  0.00% zabbix_server
  2853 root        1  20    0   126M 29780K select   0:01  0.00% python
  1696 zabbix      1  20    0 19968K  2424K nanslp   0:01  0.00% zabbix_agentd
  4222 root        1  28    0   122M 23264K select   0:01  0.00% python
  1793 zabbix      1  20    0   103M  7152K nanslp   0:01  0.00% zabbix_server
  1752 root        1  20    0   122M 22344K select   0:01  0.00% python
  1797 zabbix      1  20    0   103M  8088K nanslp   0:01  0.00% zabbix_server
  1796 zabbix      1  20    0   103M  7944K nanslp   0:01  0.00% zabbix_server
  1795 zabbix      1  20    0   103M  8044K nanslp   0:01  0.00% zabbix_server
  1801 zabbix      1  20    0   103M  7100K nanslp   0:01  0.00% zabbix_server
  3392 root        1  20    0   122M 23312K select   0:01  0.00% python
  2812 root        1  20    0   134M 25184K select   0:01  0.00% python
  1798 zabbix      1  20    0   103M  7628K nanslp   0:01  0.00% zabbix_server

所以在这里,我能够监控内存而不是cpu
原因是在顶级cpu统计信息的重定向输出期间没有更新

我如何捕获cpu统计数据?

如果你有什么建议请告诉我.

top -b -n 1似乎在我的Linux机箱上运行(-b:批处理模式操作,-n:迭代次数).

编辑:

我刚刚在FreeBSD 9.2上试过它,它使用3.5beta12版本的top.它似乎需要至少一次额外的迭代才能获得cpu统计数据.所以你可能想要使用:

top -b -d2 -s1 | sed -e '1,/USERNAME/d' | sed -e '1,/^$/d'

-b:批处理模式,-d2:2显示(第一个不包含cpu统计信息,第二个显示),-s1:在显示之间等待一秒

sed管道删除第一个不包含cpu统计信息的显示(通过跳过标题和进程列表).

原文链接:https://www.f2er.com/bash/383351.html

猜你在找的Bash相关文章