2013-11-21 77 views
6

爲了監視系統的目的,我需要在文件中重定向頂部命令的輸出,所以我將使用/解析它。 我正在嘗試做同樣的事情,但CPU性能統計信息未保存在文件中,請參閱 屏幕截圖。 預期輸出:如何重定向文件頂部命令的輸出

[[email protected] /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 

如果我這樣做:

[[email protected] /usr/local/bin]# top > /tmp/top.output 

那麼就說明:

[[email protected] /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, 108 sleeping, 5 zombie 

Mem: 731M Active, 515M Inact, 219M Wired, 212M Buf, 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統計信息?

如果您有任何建議請告訴我。

回答

10

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:等待顯示

之間1秒

sed管道刪除不包含CPU統計信息的第一個顯示(通過跳過標題和進程列表)。

+0

由於答覆,我嘗試過,但它仍然是不示出CPU的統計信息, 看到輸出: [根@ V100的/ usr/local/bin中]#頂部-b -n 1> /tmp/top.output [root @ v100/usr/local/bin]#cat /tmp/top.output last pid:9094;加載平均值:0.04,0.07,0.06加0 + 04:31:20 19:35:02 114進程:1運行,108睡眠,5殭屍 Mem:735M Active,514M Inact,232M有線,212M Buf ,483M免費 交換:4095M總計,4095M免 PID USERNAME THR PRI NICE SIZE RES狀態時間WCPU COMMAND 1953根150 20 0 3084M 635M uwait 3:07 0.00%的java –

+0

似乎有不同的實現方式頂部,請參閱http://english.turkcebilgi.com/top+%28Unix%29部分歷史記錄。對我來說,'top -v'顯示'procps-ng version 3.3.3'。 --- 您可能想要考慮其他來源,如'vmstat'命令或proc文件系統的'/ proc/stat'(請參閱http://www.linuxhowtos.org/System/procstat.htm以獲取關於輸出)。 (如果你的'top'從/ proc'獲取信息,這不會讓你感到意外。) – halfbit

+0

'root @ v50:/usr/local/apache-tomcat-6.0.33#top -v' shows '頂部:版本3。5beta12' 在我的FreeBsd系統中,文件/ proc/stat不存在。 –

相關問題