如何使用 java 堆分析器 (HPROF)
How to use java heap profilers (HPROF)
凭借 java 'hprof' 的基本知识,我尝试按照 oracle 文档
执行以下命令
java -agentlib:hprof Hello.class
但我得到以下错误而不是分析信息
Caused by: java.lang.ClassNotFoundException: Hello.class
at java.net.URLClassLoader.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
有人可以说明应该如何正确使用 hprof 以获得分析信息吗?
您只需删除 class 末尾的 .class
,因为 Java
默认情况下会搜索 class
个文件。
java -agentlib:hprof Hello
但是,要获得堆分配配置文件,您需要添加一些参数...
java -agentlib:hprof=heap=sites Hello
更多信息请输入
java -agentlib:hprof=help
并访问http://docs.oracle.com/javase/8/docs/technotes/samples/hprof.html
凭借 java 'hprof' 的基本知识,我尝试按照 oracle 文档
执行以下命令java -agentlib:hprof Hello.class
但我得到以下错误而不是分析信息
Caused by: java.lang.ClassNotFoundException: Hello.class
at java.net.URLClassLoader.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
有人可以说明应该如何正确使用 hprof 以获得分析信息吗?
您只需删除 class 末尾的 .class
,因为 Java
默认情况下会搜索 class
个文件。
java -agentlib:hprof Hello
但是,要获得堆分配配置文件,您需要添加一些参数...
java -agentlib:hprof=heap=sites Hello
更多信息请输入
java -agentlib:hprof=help
并访问http://docs.oracle.com/javase/8/docs/technotes/samples/hprof.html