1

Java 'hprof' の基本的な知識があれば、Oracle ドキュメントに従って以下のコマンドを実行してみました。

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 を適切に使用する方法を誰かが説明できますか?

4

1 に答える 1

2

デフォルトではファイルを検索するため.class、クラスの最後にあるを削除するだけです。Javaclass

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にアクセスしてください。

于 2015-02-02T17:41:56.753 に答える