哪个 VmWare VM 与进程(pid)关联(在 Windows 主机上)?

哪个 VmWare VM 与进程(pid)关联(在 Windows 主机上)?

我在一台强大的 Windows 主机上运行了多个虚拟机。时不时地其中一个虚拟机进入 CPU 旋转模式,占用 100% 的主机 CPU

为了使主机和其他虚拟机可用,我找到了行为不当的虚拟机,并将处理器亲和性设置为一个逻辑 CPU,这样机器的其余部分现在就可以使用了。

从旋转驱动器转移到固态驱动器后,我的方法就失效了。我曾经使用 Windows 任务管理器来查找行为不当的 PID,然后使用 Windows 资源监视器磁盘活动来查找 VM。我会看到如下文件:

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

根据这些信息,我知道行为不当的虚拟机是 vm123。但是,在移至 SSD 驱动器后,我看不到任何磁盘活动。所以我需要找到另一种方法来获取此信息。我猜测磁盘活动没有显示出来,因为活动通常少于 1ms,但我不确定。

现在,我将使用来自Sysinternals 工具位于 docs.microsoft.com/.../downloads/sysinternals-suite。它显示与进程相关的所有句柄以及正在运行的进程的完整命令行。

如何获取与给定 PID 关联的 VmWare VM?我猜想有一个 Windows 命令或 powershell 命令可以给我答案。

我正在尝试寻找一个作为典型 Windows 安装的一部分并且不使用第三方安装的软件的解决方案。

答案1

您不需要使用 Sysinternals Process Explorer;您可以使用 Windows 的内置任务管理器来查看进程的命令行vmware-vmx.exe。您需要通过转到“详细信息”选项卡、右键单击列标题并添加“命令行”列来启用它。(此外,Sysinternals 并不是第三方软件;Sysinternals 是 Microsoft 的一部分。)

要以编程方式获取命令行,请参阅以下一些答案 如何找出正在运行的程序的命令行参数?

另一种方法是检查vmware.log正在运行的虚拟机的文件(位于虚拟机的目录中)。第一行将告诉您它使用的 PID。

相关内容