問題タブ [java-memory-leaks]

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 投票する
1 に答える
566 参照

java - PMD メモリ リーク

Windows の Eclipse で pmd を使用すると、深刻なメモリ リークが発生します。私はたくさんの大きなMavenプロジェクトをインポートしています。m2e とコンパイル後、PMD が起動します。その後、ワークスペース内の多くの (約 50 の) プロジェクトに対して、約 8 から 10 の eclipse ジョブ インスタンスが並行して実行されます。その後、マシンの仮想メモリが使い果たされ (約 12 GB 程度)、PC が完全にフリーズするまで、プロセス サイズは無限に大きくなります。

eclipse.ini の私のメモリ設定:

ここでの 2 GB のヒープ サイズ制限は、あまり効果がないようです。その場合、割り当てられた vm メモリは Java ヒープではなく、クラスローダー メタスペースまたはネイティブ dll からのものであると思われます。

私のマシンには 32 GB の RAM があります。Java 1.8.0_121 を使用。

プロセスが危険なほど大きくなり、強制終了する必要がある直前の vmmap スナップショットを次に示します。

メモリ スナップショット

プロセスに対して実行してみjcmd PID GC.class_statsましたが、合計バイト数が約 1.4 GB しかないため、ここでは問題は見られません。

Windows でネイティブ プロセスをプロファイリングした経験はあまりありません。非常に多くのメモリを際限なく割り当てているものを特定するにはどうすればよいですか?