凭借java' hprof'的基本知识,我尝试按照oracle docs执行以下命令
java -agentlib:hprof Hello.class
但我得到以下错误而不是分析信息
Caused by: java.lang.ClassNotFoundException: Hello.class
at java.net.URLClassLoader$1.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以获取分析信息吗?
答案 0 :(得分:2)
您只需删除课程末尾的.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