PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Update-Interval von /sys/class/net/$INTERFACE/statistics/rx_bytes



suck
16.10.06, 19:12
Ich habe ein kleine Script geschrieben, dass Daten aus /sys/class/net/$INTERFACE/statistics/rx_bytes verarbeitet. Wenn ich in diesem Script den "Update-interval" auf sagen wir mal 0.5 Sekunden setzte, stelle ich fest, dass die Datei aus der ich lese, nicht oft genug aktualisiert wird. Wo kann man das einstellen/ändern? Anbei das Script:

#/bin/sh

INTERFACE=broadcom
UPDATE_INTERVAL=1

while true
do
TIME=$(date +"%a %b %d %H:%M:%S")
RX_OLD=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
TX_OLD=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
sleep $UPDATE_INTERVAL
RX_NEW=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
TX_NEW=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
# Rate berechnen und auf eine Dezimalstelle hinter dem Komma runden
DOWN=$(calc \( $RX_NEW - $RX_OLD \) / 1000 / $UPDATE_INTERVAL)
DIFF=$(calc $DOWN % 0.1)
DOWN=$(calc $DOWN - $DIFF)
UP=$(calc \( $TX_NEW - $TX_OLD \) / 1000 / $UPDATE_INTERVAL)
DIFF=$(calc $UP % 0.1)
UP=$(calc $UP - $DIFF)
# Leerzeichen entfernen
DOWN=$(echo $DOWN)
UP=$(echo $UP)
# Gegebenenfalls den String ".0" anhängen
echo $DOWN | grep -q "\." || DOWN=$DOWN.0
echo $UP | grep -q "\." || UP=$UP.0
# Daten ausgeben
echo
echo "DOWN : $DOWN"
echo "UP : $UP"
echo
echo -n $TIME
done


Edit: Weiss zufällig wer, wo man die aktuelle CPU-Last auslesen kann?