Welche VmWare-VM ist einem Prozess (PID) (auf einem Windows-Host) zugeordnet?

Welche VmWare-VM ist einem Prozess (PID) (auf einem Windows-Host) zugeordnet?

Ich betreibe mehrere VMs auf einem leistungsstarken Windows-Host. Ab und zueine der VMs wechselt in den CPU-Spin-Modus und beansprucht 100 % der HOST-CPU.

Um den HOST und andere VMs nutzbar zu machen, finde ich die VM, die sich fehlerhaft verhält, und stelle die Prozessoraffinität auf eine logische CPU ein. Nun ist der Rest der Maschine nutzbar.

Nachdem ich von rotierenden Laufwerken auf Solid-State-Laufwerke umgestiegen war, funktionierte mein Ansatz nicht mehr. Früher habe ich den Windows Task-Manager verwendet, um die fehlerhafte PID zu finden, und dann die Festplattenaktivität des Windows Resource Monitors, um die VM zu finden. Ich habe eine Datei wie diese gesehen:

J:\Virtual Machines\vm123\vm123-000004.vmdk

Aus diesen Informationen erkenne ich, dass die fehlerhafte VM vm123 ist. Nach dem Wechsel zu SSD-Laufwerken sehe ich jedoch keine Festplattenaktivität. Ich muss also einen anderen Weg finden, um diese Informationen zu erhalten. Ich vermute, dass die Festplattenaktivität nicht angezeigt wird, da die Aktivität oft weniger als 1 ms beträgt, aber ich bin nicht sicher.

Im Moment verwende ich ProcessExplorer vonSysinternals-Tools unter docs.microsoft.com/.../downloads/sysinternals-suite. Es zeigt alle mit einem Prozess verknüpften Handles und die vollständige Befehlszeile des ausgeführten Prozesses.

Wie kann ich die VmWare-VM abrufen, die mit der angegebenen PID verknüpft ist? Ich vermute, es gibt einen Windows- oder Powershell-Befehl, der mir die Antwort gibt.

Ich versuche, eine Lösung zu finden, die Teil einer typischen Windows-Installation ist und keine von Drittanbietern installierte Software verwendet.

Antwort1

Sie müssen Sysinternals Process Explorer nicht verwenden. Sie können den in Windows integrierten Task-Manager verwenden, um die Befehlszeile des vmware-vmx.exeProzesses anzuzeigen. Sie müssen ihn aktivieren, indem Sie auf die Registerkarte „Details“ gehen, mit der rechten Maustaste auf die Spaltenüberschriften klicken und die Spalte „Befehlszeile“ hinzufügen. (Außerdem ist Sysinternals nicht unbedingt Software von Drittanbietern. Sysinternals ist Teil von Microsoft.)

Um die Befehlszeile programmgesteuert zu erhalten, lesen Sie einige der Antworten auf Wie finde ich die Befehlszeilenargumente eines laufenden Programms heraus?

Ein anderer Ansatz wäre, die vmware.logDateien laufender VMs zu überprüfen (die sich im Verzeichnis der VM befinden). Die allererste Zeile gibt an, welche PID verwendet wird.

verwandte Informationen