Ich führe ein Python-Skript auf einer ec2-Instanz aus, das Zeilen in eine Datenbank auf einer anderen Instanz einfügt. Bei der Überwachung von ec2 habe ich eine CPU-Auslastung von 100% festgestellt, während oben nur 20% für den Python-Prozess angezeigt werden. Was fehlt oben? Netzwerk-Overhead?
amazon-ec2
top
RickyA
quelle
quelle
Antworten:
Die von
top
verfügbar gemachten Daten sind in virtualisierten Umgebungen wie Amazon EC2 häufig unzureichend oder irreführend. Der gemeldete Prozentsatz hängt unter anderem von Ihrem Instanztyp und der zugrunde liegenden Prozessorkernauslastung ab (die normalerweise nicht mit der virtualisierten Hardware übereinstimmt, die Ihnen vom Hypervisor angezeigt wird) andere Dinge - was Sie sehen, wird höchstwahrscheinlich durch die jeweilige CPU-Diebstahlzeit verursacht, wie sie heutzutage in den meisten verwandten Unix / Linux-Überwachungstools verfügbar ist - siehe z. B. Spalten% stehlen oder st insar
odertop
:Der Blog-Beitrag EC2-Überwachung: Der Fall der gestohlenen CPU bietet eine schöne Erkundung und Illustration dieses Themas:
Bitte beachten Sie, dass diese Hypervisor-Metrik nur auf Unix / Linux-Systemen (leicht) zugänglich zu sein scheint, aber (noch) nicht unter Windows beobachtbar zu sein scheint. Siehe meine Frage. Gibt es ein Windows-Äquivalent zur Unix-CPU-Diebstahlzeit? Weitere Informationen zu diesem Problem.
quelle
Amazon überprüft wahrscheinlich die Last und keine prozentuale Nutzung von TOP. Wenn Sie zwei Prozesse auf CPU haben, können diese zu 20% genutzt werden, aber Sie können Last 2 haben.
quelle