gestoppter Prozess wir unter ps mit 32% CPU-Last angezeigt, unter top nicht
Hallo, ps -eo pcpu (pcpu ist die Prozessauslastung lt. manpage) soll die Auslastung des Prozessor anzeigen, z.B. ps -eo pcpu,cmd,comm,pid. Darunter befinden sich aber auch gestoppte Prozesse (T). Diese gestoppten Prozesse sollten eigentlich keine Prozessorlast mehr erzeugen. Trotzdem zeigt ps -eo pcpu,cmd,comm,pid | grep smbd noch 32% Prozessorlast an: pserver:~ # ps -C smbd -o pid= -o pcpu= -o cmd= (ähnlich ps -eo pcpu,cmd,comm,pid | grep smbd) 5879 0.0 /usr/sbin/smbd -D -s /etc/samba/smb.conf 5909 32.4 /usr/sbin/smbd -D -s /etc/samba/smb.conf 7921 0.0 /usr/sbin/smbd -D -s /etc/samba/smb.conf 27150 0.0 /usr/sbin/smbd -D -s /etc/samba/smb.conf 27158 0.0 /usr/sbin/smbd -D -s /etc/samba/smb.conf 9971 0.0 /usr/sbin/smbd -D -s /etc/samba/smb.conf 27869 0.0 /usr/sbin/smbd -D -s /etc/samba/smb.conf 31656 0.0 /usr/sbin/smbd -D -s /etc/samba/smb.conf 7181 0.0 /usr/sbin/smbd -D -s /etc/samba/smb.conf der 5909 ist eindeutig gestoppt (mit SIGSTOP): pserver:~ # ps axw | grep smb 5094 ? Ss 0:00 /usr/sbin/nmbd -D -s /etc/samba/smb.conf 5879 ? Ss 0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf 5909 ? T 230:08 /usr/sbin/smbd -D -s /etc/samba/smb.conf 7921 ? S 0:01 /usr/sbin/smbd -D -s /etc/samba/smb.conf 27150 ? S 0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf 27158 ? T 0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf 9971 ? S 0:02 /usr/sbin/smbd -D -s /etc/samba/smb.conf 27869 ? T 0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf 31656 ? T 0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf 7181 ? S 0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf top zeigt gleichzeitig 99% CPU-idle an. Was stimmt nun? top oder ps? BTW: Warum das ganze? - Es muß wegen eines smbd-Bug in Suse9.2, samba-3.0.9-2.3 alle paar Stunden ein amoklaufender smb-Prozess zur Ruhe gebracht werden, ein kill kümmert den Prozess nicht, nur ein Stop und restart von samba erlaubt auch einen Kill auf den Prozess. Um das automatisch zu gestalten wird die Liste der smb-Prozesse alle 5 Minuten untersucht, ob da nicht smb-Prozess an der Spitze von top steht. Wenn ja, dann nochmaliger Check nach 10 Sekunden, ob immer noch an der Spitze von top und dann kill -SIGSTOP. So, und wenn eben ps -eo pcpu immer einen smb-Prozess meldet, der angeblich 32% des Prozessors belegt, dann wir immer wieder unnötigerweise versucht zu killen. Und wenn dann ein andere smb-Prozess Amok läuft, der tatsächlich abegeschossen gehört, dann kommt der evtl. nie an die Reihe. danke schonmal Ekkard
participants (1)
-
Ekkard Gerlach