使用中のヒープメモリを開放する方法

フォローする

概要

BizRobo!はJavaアプリケーションであるため、JavaのGC(ガベージコレクション)という仕組みでヒープメモリの解放を実施致しますが、
BizRobo!の機能として任意のタイミングでGCを実行する機能はございません。
GCを任意のタイミングで実行したい場合、例えばJavaが提供するツールであるJconsole等を用いて、お客様責任で実施頂く必要がございます。

対処方法

以下はOpenJDK8を用いて、実際にFullGCを明示実行するまでの作業例になります。

1.
GCを実行したい対象のJavaプロセスIDを確認します。
例としてタスクマネージャで詳細の表示を行うと、PIDとして確認する事が出来ます。



2.
Jconsoleを起動し、対象のPIDと一致する対象を選択して接続します。

この時次のような警告が表示された場合は、保護されていない接続を押下します。
​​

3.メモリータブを表示し、「GCの実行」を押下します。

注意事項

Javaでは世代別ガベージコレクションでヒープメモリ領域を複数の世代/領域にわけて管理しており、
実行されるGCの種別によって、解放の対象となるヒープメモリの世代/領域が異なります。
例えば、Old領域(Tenured領域)はFullGC以外では解放されません。
そのため、FullGCが実行されるまでOld領域のメモリ利用が徐々に増加し、
ヒープメモリ全体の最低値が右肩上がりになる場合があります。

参考

JConsoleを使用したMC、RSの監視方法

区分 確認Ver
トラブルシュート 10.7.0.4

 

コメント

0件のコメント

記事コメントは受け付けていません。