jstat「Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle 」を使えば、Javaのヒープ状況をロギングできるのだが、cronで実行するようなバッチ系の場合、バッチの実行時間に合わせて自分でjstatを叩くのは相当面倒だし、バックエンド処理のバッチの実行開始時間は深夜だったりする場合が多い。 そこで、ヒープ状況のログと取りたいとき、javaのプログラム実行直後に、以下のシェルスクリプトを実行するようにcronに追加した。 #!/bin/bash if [ -z $JAVA_HOME ] then JAVA_HOME='/usr/java/default' fi JPS=$JAVA_HOME'/bin/jps' JSTAT=$JAVA_HOME'/bin/jstat' if [