
Ich führe meine PHP-Laravel-Anwendung in einer AWS EC2-Instanz (T2.Medium, 2 Kerne) über Laravel Forge aus. Seit 5 Monaten sehe ich im AWS-Konsolendiagramm eine konstante CPU-Auslastung von 27 %. Ich habe also versucht, dies durch Ausführen des Befehls „top“ zu überprüfen, und dort sehe ich 100 % CPU.
Also möchte ich verstehen:
1. What is my actual CPU utilization out of the 2 cores of T2.medium?
2. In the top command result, forge is utilizing 100% CPU, what is the best way to track what cause the high CPU so that I can lower the CPU utilization.
Bitte beachten Sie, dass diese EC2-Instanz der Anwendungsserver ist. Für die Datenbank verwende ich eine andere Instanz. Sie hat keine hohe CPU-Auslastung.
Antwort1
top
zeigt den %CPU als Prozentsatz eineseinzelKern. Deshalb wird manchmal eine Zahl über 100 angezeigt. Wenn Sie es ausführen, cat /proc/cpuinfo
sollten Sie Einträge für jeden verfügbaren Kern sehen. 100 % in der CPU-Spalte bedeutet also nur, dass ein ganzer Kern verwendet wird – wenn die Instanz 4 Kerne hat (oder 2 Kerne mit Hyperthreading), sind es insgesamt nur 25 %.
Ich verwende es gern, htop
da ich finde, dass es eine bessere Visualisierung und Anzeige bietet.