特定のしきい値に達すると呼び出されるjavax.management.NotificationListenerを登録できます。リスナーはNotificationListenerをの独自の実装である
final MemoryMXBean memBean = ManagementFactory.getMemoryMXBean();
final NotificationEmitter ne = (NotificationEmitter) memBean;
ne.addNotificationListener(listener, null, null);
final List<MemoryPoolMXBean> memPools = ManagementFactory
.getMemoryPoolMXBeans();
for (final MemoryPoolMXBean mp : memPools) {
if (mp.isUsageThresholdSupported()) {
final MemoryUsage mu = mp.getUsage();
final long max = mu.getMax();
final long alert = (max * threshold)/100;
mp.setUsageThreshold(alert);
}
}
よう
何か。
[Javaヒープサイズを動的に監視する方法]の複製が可能ですか?(http://stackoverflow.com/questions/2163228/how-to-dynamically-monitor-java-heap-size) –
@Andreas_D、この質問は扱いますプログラムの外部監視について。ヒープスペースが足りなくなると自分のプログラムが反応するようにしたい。 – zneak
他の質問に対する回答には、内部および外部の監視ソリューションが含まれます。 –