我需要能够在没有运行任何XWindows的Linux机器上运行的VM上进行一些内存采样。我试图远程进行,但显然JVisualVM不支持远程内存采样。
我有什么选择?
谢谢!
这取决于您想要的采样类型。 jmap
控制台工具(来自JDK bin文件夹)允许某种内存转储等。
您可以使用jmap
获取内存示例(也称为堆转储)。下面的命令在当前目录中创建一个文件heap.hprof
。
jmap -dump:format=b,file=heap.hprof <pid>
获得样品后,您可以使用您喜欢的任何工具将其转移到另一台机器进行分析。我推荐Memory Analyzer。
在linux服务器上设置一个远程DISPLAY并运行jvisualvm,使ui显示在本地xserver上。它可能很慢,但它会起作用。
软件的路径:
[softwares / 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"