Am Dienstag, 29. November 2005 12.13 schrieb Sandy Drobic:
Dominik Klein wrote:
Uh, wenn ein Tool wie "top" eine exception meldet, würde mich das erst einmal nervös machen.
Punkt für dich. Ich habe einen strace auf top laufen lassen. Abgesehen von einigen unbedeutenden (No such file ...) Fehlern ist mir nichts aufgefallen. Die letzten Meldungen lauten:
fstat64(6, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000 read(6, "cpu 15725509 1920495 36883818 3"..., 4096) = 863 write(1, "CPU0 states: 18.0% user, 81.0% s"..., 65) = 65 --- SIGFPE (Floating point exception) --- +++ killed by SIGFPE +++
Sagt mir leider nicht allzuviel, von welcher Datei versucht er denn, diese Informationen auszulesen? Vielleicht ist diese ja schon mit "seltsamen" Werten gefüllt. Nur so zur Info: top liest aus /proc/stat die Zeilen für die CPU. Bei einem Dual-Prozessor System mit SuSE 8.1 erhalte ich folgende Werte: cpu 5481367 40356 5431911 2268890866 cpu0 1421269 14955 1404519 567120382 cpu1 1329058 6613 1318027 567307427 cpu2 1419017 11115 1382513 567148480 cpu3 1312023 7673 1326852 567314577 Gut möglich, dass die Werte in /proc/stat merkwürdig sind, und dann beim Umrechnen einen Fehler produzieren. Z.B. Division durch 0 o.ä.