postheadericon VMware: esxtop auf Schlankheitskur #2

Angenommen, man möchte mit esxtop gezielt ein paar wenige VMs untersuchen, weil einzelne User Performanceprobleme gemeldet haben und das auf einem ESX-Server mit rund 100 Desktop VMs . Dies lässt sich mit esxtop zwar wunderbar erledigen, jedoch erkennt man bald, das die Übersichtlichkeit ohne weitere Anpassungen miserabel ist. Eine gezielte Analyse ist hier kaum oder nur sehr schwer möglich.

Beim Durchstöbern der esxtop man page stösst man im Abschnitt “Experimental Features” auf eine für diesen Fall sehr nützliche Eigenschaft von esxtop. Mit den Optionen -export-entity und -import-entity lassen sich gezielt mit wenigen Handgriffen die virtuellen Maschinen herausfiltern, die man analysieren möchte.

Schritt 1:

# esxtop -export-entity entity-file

erzeugt im aktuellen Verzeichnis eine Textdatei mit allen aktuellen Entities des ESX-Servers. Dies sind neben allen VMs auf diesem ESX-Server auch die dazugehörigen Netzwerk- und Storageadapter.

Schritt 2:

Als nächstes bearbeitet man die Textdatei mit einem Editor (zB vi) und setzt vor die Zeilen ein Kommentarzeichen ‘#’, welche man nicht analysieren möchte. Da die Textdatei unter Umständen, je nach Anzahl der VMs auf dem ESX-Server, ziemlich lang sein kann, ist es eventuell besser erstmal alle VMs mit einem Kommentarzeichen zu versehen. Dazu kann beispielsweise folgendes Kommando verwendet werden:

perl -i -ne \
  'if ($_ =~ /^(|SchedGroup|Adapter|Device|NetPort|InterruptVector)$/) {
     print $_;
   } else {
     print "#$_"
   }' entity-file

In der modifizierten Datei entity-file sind nun alle Entities mit einem Kommentarzeichen versehen. Also bitte nicht vergessen bei den VMs das Kommentarzeichen wieder zu entfernen, die untersucht werden sollen.

Im letzten Schritt wird mit

# esxtop -import-entity entity-file

das angepasste Entityfile importiert und in der jetzt übersichtlichen Darstellung steht einer gezielten Analyse nichts mehr im Weg.

3 Kommentare zu „VMware: esxtop auf Schlankheitskur #2“

Kommentieren