jvmメモリ表示コマンド
2548 ワード
jvmメモリ表示コマンド
Windowsにtomcatを配備する際にメモリパラメータの設定が有効にならないという問題が発生しました
構成手順は、レジストリエントリHKEY_LOCAL_MACHINE/OFTWARE/Wow 6432 Node/Apache Software Foundation/Procrun 2.0/tomcat 6/Parameters/Java/Options次のパラメータを追加
パラメータの意味:
新世代サイズ構成、対応するエラーメッセージ
java.lang.OutOfMemoryError: Java heap space
-Xmx4096m(or -XX:MaxHeapSize=2048m) -Xms4096m(or -XX:InitialHeapSize=2048m)
永続世代構成、対応するエラーメッセージ
java.lang.OutOfMemoryError: PermGen space
-XX:PermSize=64M -XX:MaxPermSize=1024m
起動時にメモリ情報-XX:+PrintCommandLineFlagsを印刷
構成が完了すると、tomcatがサービスで起動し、-Xmsおよび-Xmxパラメータが機能しないことがわかりました.表示方法は次のとおりです.
jmap -heap pid
もう一つの方法は
jinfo -flags pid
最終的には、他のプログラム構成の影響を受ける可能性があります.もう1つの構成方法はcatalina.batに追加することです.
set JAVA_OPTS=-XX:PermSize=512m -XX:MaxPermSize=512m -Xms1024m -Xmx2048m -Djava.awt.headless=true -XX:+PrintCommandLineFlags
startup.batでメモリ構成を起動すると有効になりますが、電源を入れて起動できないのが欠点です
add 20170809の下には、jvmエラーに関するコマンド(docker環境では対応するユーザーに切り替えて実行します.そうしないとpid not fundをエラーします)1.メモリ構成と使用状況を表示します.
jmap-heap pidまたはjinfo-flags pid
2.各クラスのサイズ数など、メモリの使用状況を確認します.
jmap -histo pid
バイナリファイルのエクスポート
jmap-dump:format=b,file=heap.bin pidはツールを使用してバイナリ結果(IBMのHeapAnalyzerとeclipseのMemoryAnalyzer)を解析できます3.メモリリアルタイム表示コマンドjstat-gc 33 2000 10 jstat-gcutil 33 2000 10
4.dumpスレッドスタック情報
jstack pid
5.ホスト上のjavaプロセスの表示
jps
関連ドキュメント:jstack(スレッドの表示)、jmap(メモリの表示)、jstat(パフォーマンス分析)コマンドhttp://blog.csdn.net/x1066988452/article/details/51011411 オンラインJavaプログラムによるサーバCPUの占有率が高すぎる問題の排除過程を記入するhttp://www.jianshu.com/p/3667157d63bb jstat pid not found http://dikar.iteye.com/blog/781083
Windowsにtomcatを配備する際にメモリパラメータの設定が有効にならないという問題が発生しました
構成手順は、レジストリエントリHKEY_LOCAL_MACHINE/OFTWARE/Wow 6432 Node/Apache Software Foundation/Procrun 2.0/tomcat 6/Parameters/Java/Options次のパラメータを追加
-Xmx4096m(or -XX:MaxHeapSize=2048m)
-Xms4096m(or -XX:InitialHeapSize=2048m)
-XX:PermSize=64M
-XX:MaxPermSize=1024m
-XX:+PrintCommandLineFlags
パラメータの意味:
新世代サイズ構成、対応するエラーメッセージ
java.lang.OutOfMemoryError: Java heap space
-Xmx4096m(or -XX:MaxHeapSize=2048m) -Xms4096m(or -XX:InitialHeapSize=2048m)
永続世代構成、対応するエラーメッセージ
java.lang.OutOfMemoryError: PermGen space
-XX:PermSize=64M -XX:MaxPermSize=1024m
起動時にメモリ情報-XX:+PrintCommandLineFlagsを印刷
構成が完了すると、tomcatがサービスで起動し、-Xmsおよび-Xmxパラメータが機能しないことがわかりました.表示方法は次のとおりです.
jmap -heap pid
もう一つの方法は
jinfo -flags pid
最終的には、他のプログラム構成の影響を受ける可能性があります.もう1つの構成方法はcatalina.batに追加することです.
set JAVA_OPTS=-XX:PermSize=512m -XX:MaxPermSize=512m -Xms1024m -Xmx2048m -Djava.awt.headless=true -XX:+PrintCommandLineFlags
startup.batでメモリ構成を起動すると有効になりますが、電源を入れて起動できないのが欠点です
add 20170809の下には、jvmエラーに関するコマンド(docker環境では対応するユーザーに切り替えて実行します.そうしないとpid not fundをエラーします)1.メモリ構成と使用状況を表示します.
jmap-heap pidまたはjinfo-flags pid
2.各クラスのサイズ数など、メモリの使用状況を確認します.
jmap -histo pid
バイナリファイルのエクスポート
jmap-dump:format=b,file=heap.bin pidはツールを使用してバイナリ結果(IBMのHeapAnalyzerとeclipseのMemoryAnalyzer)を解析できます3.メモリリアルタイム表示コマンドjstat-gc 33 2000 10 jstat-gcutil 33 2000 10
4.dumpスレッドスタック情報
jstack pid
5.ホスト上のjavaプロセスの表示
jps
関連ドキュメント:jstack(スレッドの表示)、jmap(メモリの表示)、jstat(パフォーマンス分析)コマンドhttp://blog.csdn.net/x1066988452/article/details/51011411 オンラインJavaプログラムによるサーバCPUの占有率が高すぎる問題の排除過程を記入するhttp://www.jianshu.com/p/3667157d63bb jstat pid not found http://dikar.iteye.com/blog/781083