問題タブ [jmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
18743 参照

java - Java ヒープ ダンプ内のこれらの奇妙なクラス名は何を意味しますか?

jmapjhatを使用して、Java プロセスでのメモリ リークを追跡しようとしています。これを行うたびに[S、文字列配列や文字配列など、特定のオブジェクト タイプの奇妙な表記法が表示され[Cます。何が何を意味するのか覚えていません。これをグーグルで検索するのは非常に困難です。

編集:私の主張を証明するために、それ[Sは短い[C配列であり、文字の配列であることがわかります。)

さまざまなクラス名とその意味をすべてリストした表を作成したい人はいますか? または、そのようなテーブルを教えてください。

[Ljava.lang.Object;具体的にはどういう意味か知りたいです。

0 投票する
2 に答える
2052 参照

java - Java プロセスの統計を収集する最適なツールと JMAP の説明

より詳細なJava統計(プレーンテキスト形式)、つまりjstatコマンドが発行する統計(ガベージコレクションデータなど)の収集を検討しています.jmapなどのJavaプロセス統計を収集するための最良のツールを誰かに教えてください。

編集

jmapGoogle はオプションを使用するようにアドバイスしてくれ-histo:liveますが、実際に提供される情報を理解できません。私が使用しているコマンドは

出力:

0 投票する
2 に答える
31302 参照

java - jmapで現在のヒープサイズを見つける

Javaプロセスによって特定の時間に使用されている合計ヒープサイズを調べたいので、を使用する必要がありますjmap

の出力jmap -heap <pid>は私に次のようなものを与えます:

これらの値の式を使用して、使用されている合計メモリを調べることはできますか?

Linuxでこれを見つける方法に関する他の提案は歓迎されますがjmap、それらよりも好まれます。

ありがとう

0 投票する
3 に答える
2347 参照

java - Java プロセスでヒープをダンプできません

デバッグしたい Java プロセスがあります。問題は、開いている接続が多すぎるため、プロセスに接続できないために jmap の実行が失敗することです。jmap -F を実行すると、次のエラーが発生します。

何が問題になる可能性がありますか? プロセスを再起動せずに解決できますか(再起動するとバグが消える可能性があるため、回避したい)。

0 投票する
12 に答える
111450 参照

java - シェルからガベージコレクションを強制するにはどうすればよいですか?

したがって、リモート ボックスで jmap を使用してヒープを見ており、その上でガベージ コレクションを強制したいと考えています。jvisualvm または jconsole や友人に飛び込むことなくこれを行うにはどうすればよいですか?

ガベージコレクションを強制するべきではないことはわかっています.ヒープが大きく/成長している理由を理解する必要があります。

また、System.GC() が実際にガベージ コレクションを強制するわけではないことも認識しています。これは、GC に発生させたいことを伝えるだけです。

そうは言っても、これを簡単に行う方法はありますか?不足しているコマンドラインアプリはありますか?

0 投票する
1 に答える
144 参照

webserver - Sun WebServer 6.1 インスタンスでの JMAP の使用

Sun One WebServer で実行している webapp があり、jmap を使用してヒープ スペース メモリをダンプしたいと考えています。サーバーで実行中のプロセスをリストすると、java プロセスはリストされず、webservd プロセス (Sun WebServer によって制御される) のみがリストされます。

Sun WebServer 6.1 サーバーで jmap を使用するにはどうすればよいですか? jvmのpidにアクセスできません....

使用したい構文は次のとおりです。

ここで、PID は不足している情報です。

0 投票する
4 に答える
9275 参照

java - Linux用のibm-jdkを使用してライブヒープダンプを実行する方法はありますか?

OutOfMemoryExceptionこのJVMでが発生しているときにヒープをダンプすることは可能ですが、またはのようなツールを使用してライブダンプを要求することは可能ですjmapjconsole

0 投票する
2 に答える
351 参照

java - どのような種類のオブジェクトがメモリ リークを引き起こしているかを突き止めました。

jmap -histo実行中のプロセスでコマンドを 30 分ごとに使用すると、(デスクトップ アプリで) 明らかにメモリ リークである 1 種類のオブジェクトが見つかりました。

リークの原因となっているオブジェクト (つまり、時間の経過とともにインスタンス数が膨大に増加する唯一の種類のオブジェクト) はint[]です。

BufferedImageは犯人であると思われますが、それについてはわかりません(sのフラッシュ/無効化には細心の注意を払ってBufferedImageいましたが、それでもリークが発生していると思います)。

ただし、プログラムの別の部分でも int[] を使用しており、リークがどこから来ているのかわかりません。の出力jmap -histoは、私の好みには少し「薄い」です。

リークが発生している場所を特定するにはどうすればよいですかint[]

ところで、シンプルjmap -histoがいかに優れているかを指摘したいと思います。多くのオブジェクトでは、インスタンスの数と使用されているメモリの数を確認するだけで、それ以上の分析を必要とせずにリークを特定するのに十分であると確信しています。

ただし、私の場合、何か他のものが必要です。

私の質問は、どのようなツールでリークを発見できるかということではありません。私の質問は:

私のアプリ (または私のアプリが使用している API) がint[]をリークしていることがわかった場合、うまくいけば、リークを見つけるために (たとえば、お気に入りのプロファイラーを使用して) どのような手順を実行できますか?

このツールは、Java 1.5 OS X 10.4 Apple JVM で動作する必要があります。

0 投票する
1 に答える
766 参照

jboss - jmap のような (つまり、ヒープの使用状況) 情報をプログラムで取得しますか?

アプリケーションの「ヘルス ステータス」ページに表示できるように、次の情報 (特に現在の使用状況) をプログラムで取得したいと考えています (頻繁に変更されることはわかっています)。コードは JBoss 5.1 内で実行されます。

この情報を含む MBean があることを期待して JMX コンソールを確認しましたが、javax.management.j2ee.statistics.Stats の情報は非常に薄いです。

0 投票する
3 に答える
15593 参照

java - jmapの実行中にJVMが停止していませんか?

jmapがメモリダンプを取得している間、Javaアプリケーションは実行を継続しますか?