我试图弄清楚为什么我们的 VMware VCenter 服务器会消耗如此多的 CPU 和内存。我注意到服务器上正在运行几个 Java 进程,它们正在消耗大量 RAM 内存。
vCenter 服务器是虚拟的,运行 Windows Server 2008 和 8GB RAM。
有谁知道这些java进程属于什么?
vCenter 的许多核心服务都使用 java,因此几乎可以肯定它与 vCenter 的服务有关。
确定每个流程的用途的最佳选择是使用更好的工具,例如Process Explorer。它将向您显示进程树,指示生成它的父进程,并且还将通过将鼠标悬停在进程名称上明确列出与该进程关联的服务。
但是,如果你想直接从命令行检查,你可以使用这样的东西:
TASKLIST /SVC /FI "IMAGENAME EQ JAVA.EXE"
/SVC
标志告诉系统列出正在运行的服务。/FI
标志表明您希望使用指定的条件过滤结果"IMAGENAME EQ JAVA.EXE"
是仅列出图像名称为“JAVA.EXE”的进程的过滤器任务列表 /SVC /FI "IMAGENAME EQ JAVA.EXE"
这不会让您在 Java 中运行进程。Process Explorer 也不会。Java是一个虚拟机环境。它是一个容器。它实际上不运行任何进程。它执行 IL。中级语言。它是Java(和.NET)被编译成的。它相当于 .NET 中的 CLR。
在任务管理器中选择视图,然后是列和“命令行” 它应该提供有关 Java 正在运行的更多信息。