iostat auf RHES3 klemmt?

  • Thread starter Thread starter WDZaphod
  • Start date Start date
W

WDZaphod

Guest
Hallo Forum,

ich habe hier auf einem RedHat-System Scriptgesteuert einmal minütlich Werte von iostat gezogen und abgespeichert. Nach einer Weile (24h) fiel mir auf, daß sich die Werte bei avg-cpu nicht mehr ändern, oder wenn dann nur ganz selten auf der 2. Nachkommastelle.

Code:
avg-cpu:  %user   %nice    %sys %iowait   %idle
           5,07    0,00    2,15    4,37   88,40

Kann es sein, daß da etwas vollgelaufen ist? Wie kann ich iostats ohne Reboot wieder gangbar machen?

Grüße,
Michael
 
Lade einfach mal ein paar mehr Besucher auf die Seiten auf Deinem Server ein -- dann ändern sich auch die Werte ;)
 
ÄHM, das ist der Proxy einer großen Firma, hier surfen 600 Leute drüber :rolleyes:
Die Werte ändern sich lt. top dauernd, nur im iostat klemmt es :mad:
Hat keiner eine Idee?
 
Startest du das iostat jede Minute neu?
Der erste Wert ist nämlich der Durchschnitt seit Reboot.
 
Wie - seit Reboot? Dann wäre klar, warum sich das immer weniger ändert :eek:

Heute:

Code:
avg-cpu:  %user   %nice    %sys %iowait   %idle
           5,64    0,00    2,19    4,39   87,77

Ich bräuchte aber via Script den aktuellen IOWAIT - wie stelle ich das am besten an? TOP läßt sich aus Scripten heraus irgendwie nicht verwenden, zumindest nicht, wenn cron das Script startet (Teminal-Umgebung fehlt).
Mal gucken, ob ich ein perl-script dafür finde...

Hintergrund: Ich habe einen Server, der soll via Cacti ein paar Werte von 4 Mailgateways / Proxies ziehen. U.A. mailq, versch. CPU-Werte, Swap-Usage...

sar wäre noch ne Idee...
 
Code:
nohup ioastat 60 >/tmp/iostats&
als ständig laufender Prozess und
Code:
tail -5 /tmp/iostats
per cron aufgerufen, sollte die Aufgabe erfüllen. Der iostat-Prozess sollte natürlich in regelmäßigen Abständen beendet und neu gestartet werden, damit die Datei nicht zu groß wird...
 
Sowas wie
Code:
top -b -n 1 | grep '^Cpu' >>top.log
läuft problemlos auch als cronjob.
 
Sowas wie
Code:
top -b -n 1 | grep '^Cpu' >>top.log
läuft problemlos auch als cronjob.

Leider nicht...
Ich hab ein Script, welches minütlich von cron gestartet wird, und div. Werte einsammel. Manuell gestartet läuft es einwandfrei, von cron aus fehlen alle Werte, die aus Top zusammengegreptundcutted werden :o
Hab im Web zu dem Thema die Aussage gefunden, daß TOP die Terminalumgebung braucht, die der cron aber nicht hat....
 
Code:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.19382 installed on Wed Mar  5 15:04:47 2008)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
TERM=vt100

* * * * * /usr/bin/top -b -n 1 | /usr/bin/grep '^Cpu' >>/tmp/top.log
 
Hallo,

ich habe jetzt mal das "TERM=vt100" eingefügt, und die Cron-Zeile auf:

Code:
* * * * * root top -b -n 1 | grep -A 1 '^CPU' | grep -v '^CPU' > /var/log/top.txt

geändert, nun erscheint minutlich der aktuelle Wert in der Datei. Das ist zwar ein bischen durch die Brust ins Auge, funktioniert aber :)
Danke für die Hinweise!
 
Nachtrag:

Ich weiß jetzt auch, warum unsere Zeilen so verschieden waren:

SLES und RHEL geben völlig andere TOPs aus :)
 
Wie wäre es mit:

Code:
#!/bin/sh
IOWAIT=`vmstat 1 2|tail -n1|awk '{print $16}'`
echo $IOWAIT

Grüße
elmo
 
Back
Top