7

我需要能够在没有运行任何 XWindows 的 linux 机器上运行的 VM 上进行一些内存采样。我尝试过远程进行,但显然 JVisualVM 不支持远程内存采样。

我的替代方案是什么?

谢谢!

4

4 回答 4

7

您可以jmap用来获取内存样本(又名堆转储)。heap.hprof下面的命令在当前目录中创建一个文件 。

jmap -dump:format=b,file=heap.hprof <pid>

获得样品后,您可以将其转移到另一台机器上,使用您喜欢的任何工具进行分析。我推荐内存分析器

于 2013-10-01T14:47:02.910 回答
2

这取决于您想要什么类型的采样。jmap控制台工具(来自 JDK bin 文件夹)允许某种内存转储等。

于 2013-10-01T14:27:04.100 回答
2

在您的 linux 服务器上设置远程 DISPLAY 并运行 jvisualvm 以便 ui 显示在您的本地 xserver 上。它可能很慢,但它会起作用。

于 2013-10-01T14:42:22.317 回答
-3

软件路径:

[软件/visualvm_14/bin] -> ll

-rw-r--r-- 1 xxxxxxx xx   6287 Dec 11 15:52 visualvm 
-rw-r--r-- 1 xxxxxxx xx 190464 Dec 11 15:52 visualvm.exe

1st file is for Lx OS
2nd file is for Windows OS

启动应用程序的命令:

for Linux "jvisualvm"
for Windows "double click the .exe file"
于 2018-03-01T12:51:12.850 回答