一昔前はライブラつかって
『ねんがんのオニオンソードをてにいれたぞ!』
が実行できた。
今はvisualVMつかってcpu使用率やheap量とか取得できる。
ただしグラフで表示されたりするだけで、正確な数字をログにして記録したりしようと思ったら、
独自にアドオンを開発しなきゃいけない。
開発環境の構築や取っ掛かりはIT Proに任せるとして、詰まったところをメモ書き程度に書いておく。
//まず前提から、こんな感じで書くと、jvmの現在のステータスがわかる
MonitoredDataオブジェクトを取得できる。
MonitoredDataListener monitoredDataListener = new MonitoredDataListener() {
@Override
public void monitoredDataEvent(final MonitoredData data) {
final long time = System.currentTimeMillis();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
//ここに書く命令が、一定秒数ごとに実行される
hogehoge(data, time)
}
});
}
};
//jvmの稼働時間
data.getUpTime()
//cpu経過時間
data.getProcessCpuTime()
//javaマシンの情報を取得したり
Jvm jvm = JvmFactory.getJVMFor(application);
//cpuモニターサポート状況取得方法(boolean)
jvm.isCpuMonitoringSupported();
//javaマシンのプロセッサ数取得(int)
JvmMXBeansFactory.getJvmMXBeans(JmxModelFactory.getJmxModelFor(
application ))
.getOperatingSystemMXBean().getAvailableProcessors();
上記のメソッド組み合わせて、cpu使用率とか取れたりする。メモリはもっと簡単
//最大ヒープサイズ
data.getGenCapacity()[0];
//使用ヒープサイズ
data.getGenUsed()[0];
//最大メモリサイズ
data.getGenMaxCapacity()[0];
そろそろタグ管理したほうがいいかな、、、、
0 件のコメント:
コメントを投稿