2013-11-21 9 views
6

für die Überwachung des Systems umgeleitet werden, muss ich die Ausgabe des oberen Befehls in einer Datei umleiten, so dass ich/parse es verwenden werde. ich versuche, dasselbe zu tun, aber CPU-Performance-Statistiken werden nicht in einer Datei gespeichert siehe Screenshots. erwartete Ausgabe:Wie die Ausgabe des obersten Befehls in einer Datei

[[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 

Wenn ich das tue:

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

dann zeigt es:

[[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 

so hier, ich bin in der Lage Speicher zu überwachen, aber nicht CPU Grund während Umleitung ist Ausgabe von top CPU-Statistiken wurden nicht aktualisiert

Wie kann ich CPU-Statistiken auch erfassen?

Wenn Sie irgendwelche Vorschläge haben, sagen Sie mir bitte.

Antwort

10

top -b -n 1 scheint hier auf meiner Linux-Box zu arbeiten (-b: Batch-Modus-Operation, -n: Anzahl der Iterationen).

Edit:

Ich habe gerade versucht es auf FreeBSD 9.2, die die 3.5beta12 Version von top verwendet. Es scheint, dass es mindestens eine zusätzliche Iteration benötigt, um CPU-Stats zu erhalten. So könnten Sie verwenden:

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

-b: Batch-Modus, -d2: 2 Displays (die erste nicht CPU-Statistik enthalten, zweite Fall ist), -s1: warten 1 Sekunde zwischen den Displays

Die Pipeline sed entfernt die erste Anzeige, die keine CPU-Statistiken enthält (indem Kopfzeile und Prozessliste übersprungen werden).

+0

Dank zu antworten, ich habe es versucht, aber es zeigt immer noch nicht CPU-Statistiken, siehe Ausgabe: [root @ v100/usr/local/bin] # top -b -n 1> /tmp/top.output [root @ v100/usr/lokal/bin] # cat/tmp/top.output letzte pid: 9094; Lastmittelwerte: 0,04, 0,07, 0,06 bis 0 + 04: 31: 20 19.35.02 114 Verfahren: 1 Lauf, 108 schlafen, 5 zombie Mem: 735m Aktiv, 514M Inact, 232M Wired, 212M Buf 483m Frei, Swap: 4095m Total, 4095m Freie PID NUTZERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND 1953 root 150 20 0 3084M 635M uWait 03.07 0.00% java –

+0

Es scheinen verschiedene Implementierungen zu sein top, siehe http://english.turkcebilgi.com/top+%28Unix%29 Abschnitt Geschichte. Für mich zeigt 'top -v'' procps-ng Version 3.3.3'. --- Sie könnten alternative Quellen wie den 'vmstat'-Befehl oder das' proc/stat' des proc-Dateisystems (siehe http://www.linuxhowtos.org/System/procstat.htm für eine Erklärung des Ausgabe). (Es wäre keine Überraschung, wenn Ihr 'top' trotzdem die Info von'/proc' nimmt.) – halfbit

+0

'root @ v50: /usr/local/apache-tomcat-6.0.33 # top -v' zeigt ' oben: Version 35beta12' in meinem FreeBsd-System, Datei/proc/stat ist nicht da. –