Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

'sar' mit Interval 1 Sekunde lückenhaft

3 views
Skip to first unread message

Toni Erdmann

unread,
Feb 15, 2006, 9:17:23 AM2/15/06
to
Hallo,

wir nutzen hier den 'sar' um die Systemaktivität
während unserer Tests zu monitoren.

Dazu starten wir den 'sadc' (system activity data collector)
im Hintergrund wie folgt:

/usr/lib/sa/sadc 1 86400 /tmp/sar.bin &
[<pid>]

Nach den Tests und 'kill <pid>' werden die Daten z.B. mittels

/usr/bin/sar -u -f /tmp/sar.bin > /tmp/sar-cpu.txt

aufbereitet.

So weit so gut. Selbst bei moderater Last habe ich im TXT File
nicht für jede Sekunde einen Eintrag. Bei höherer Last und wenn
zusätzlich einige Real-Time-Prozesse aktiv sind haben wir schon
Lücken von 5 Minuten (!) gesehen.

Mittels

/usr/bin/chrt -f -p 4 <pid> # change real time prio

habe wir dann die Priorität des 'sadc' Prozesses auf eine
seeeehr hohe Real-Time-Priorität gesetzt. Das Ergebnis war
nicht besser.

Ich habe mir den Code von 'sadc' mal angeschaut. Es wird mit

alarm(1) und pause()

gearbeitet. 'sadc' verläßt sich also auf den Kernel, der ihn
im Sekundenrythmus wecken soll.

Was ist die Ursache für die Lücken?
Warum hilft eine RT-Prio nicht?
Liegt's am Scheduler von Linux?
Sind die binären Daten des 'sadc' evtl. doch komplett und
'sar' hat ein Problem bei der Aufbereitung?

Danke
Toni


0 new messages