Wenn ich TOP auf einem Remote-Server ausführe, sehe ich eine sehr geringe Systemauslastung (3,8 % der CPU). Für den eigentlichen Prozess sehe ich jedoch 29,6 % der CPU.
Da dieser Server über 8 CPU-Kerne verfügt, entspricht der CPU-Prozentsatz der Auslastung von nur 1 CPU, während die us
obere Hälfte über 8 CPUs liegt?
Wenn ich 29,6 durch 8 teile, erhalte ich 3,7, was meine Vermutung zu bestätigen scheint. Also Fragen:
- Die geringe Auslastung, die ich sehe, liegt tatsächlich bei über 8 CPUs, während sich der %CPU-Wert auf die CPU bezieht, die der Prozess verwendet?
- Was passiert mit Prozessen, die mehr als eine CPU nutzen?
- Nutzt Tomcat bei Bedarf mehr als eine CPU? Oder stürzt Tomcat bei erhöhter Auslastung ab, ohne dass wir über die hohe Auslastung informiert werden?
Top-Ausgabe
top - 12:17:40 up 9 days, 21:51, 2 users, load average: 0.32, 0.28, 0.27
Tasks: 201 total, 2 running, 199 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.8%us, 0.1%sy, 0.0%ni, 96.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16229072k total, 5617572k used, 10611500k free, 156480k buffers
Swap: 8388588k total, 0k used, 8388588k free, 2632452k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
32676 tomcat 20 0 12.4g 2.3g 10m S 29.6 14.6 2530:56 java
Ich habe Quellen überprüft wiehttp://www.kernelhardware.org/linux-top-command/, aber keiner von ihnen macht den Unterschied zwischen %us
und %CPU
.
Nur einige mehrdeutige Informationen wie:%CPU – Percentage of CPU used
Antwort1
Die angezeigten CPU-Prozentsätze top
gelten für alle CPUs zusammen. Um Statistiken pro CPU anzuzeigen, drücken Sie 1während top
der Ausführung.
Die Prozentwerte in der Prozessliste hingegen beziehen sich auf einen einzelnen CPU-Kern und können somit über 100 % liegen.