On Fre, 30 Mär 2001, Marcus Kirst wrote: Erstmal: Kuerze deine Zeilen auf ca. 68 Zeichen!
Ich möchte das aufkommende Datenvolumen für eine Standleitung protokollieren. Die Daten nehme ich aus der Datei /proc/net/dev -nun meine Frage(n): Welchen Daten-Typs sind die Byte-Zählungen dieser Datei? - d.h. ab wann gibt es einen ÜBERLAUF?
Use the Source!!! Mit ein bisschen greppen findet man schnell: ==== /usr/src/linux/include/linux/netdevice.h:83 ==== struct net_device_stats { unsigned long rx_packets; /* total packets received */ unsigned long tx_packets; /* total packets transmitted */ unsigned long rx_bytes; /* total bytes received */ unsigned long tx_bytes; /* total bytes transmitted */ unsigned long rx_errors; /* bad packets received */ unsigned long tx_errors; /* packet transmit problems */ unsigned long rx_dropped; /* no space in linux buffers */ unsigned long tx_dropped; /* no space available in linux */ unsigned long multicast; /* multicast packets received */ unsigned long collisions; [schnippel] ==== Auf der ix86-Architektur ist ein usigned long 32 bit gross, der Ueberlauf passiert also bei 2^32-1 also 4294967295 also bei den Bytes bei 4 GB.
(Rechner läuft i.d.R. monatelang ohne Neustart!) Was passiert bei einem Überlauf? - werden die Werte dann wieder auf Null zurück gesetzt?
====
#include