本文整理匯總了Java中java.lang.management.MemoryPoolMXBean.setCollectionUsageThreshold方法的典型用法代碼示例。如果您正苦於以下問題:Java MemoryPoolMXBean.setCollectionUsageThreshold方法的具體用法?Java MemoryPoolMXBean.setCollectionUsageThreshold怎麽用?Java MemoryPoolMXBean.setCollectionUsageThreshold使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.lang.management.MemoryPoolMXBean
的用法示例。
在下文中一共展示了MemoryPoolMXBean.setCollectionUsageThreshold方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: startJVMThresholdListener
import java.lang.management.MemoryPoolMXBean; //導入方法依賴的package包/類
/**
* Register with the JVM to get threshold events.
*
* Package private for testing.
*/
void startJVMThresholdListener() {
final MemoryPoolMXBean memoryPoolMXBean = getTenuredMemoryPoolMXBean();
// Set collection threshold to a low value, so that we can get
// notifications after every GC run. After each such collection
// threshold notification we set the usage thresholds to an
// appropriate value.
if (!testDisableMemoryUpdates) {
memoryPoolMXBean.setCollectionUsageThreshold(1);
}
final long usageThreshold = memoryPoolMXBean.getUsageThreshold();
this.cache.getLoggerI18n().info(
LocalizedStrings.HeapMemoryMonitor_OVERRIDDING_MEMORYPOOLMXBEAN_HEAP_0_NAME_1,
new Object[] {Long.valueOf(usageThreshold), memoryPoolMXBean.getName()});
MemoryMXBean mbean = ManagementFactory.getMemoryMXBean();
NotificationEmitter emitter = (NotificationEmitter) mbean;
emitter.addNotificationListener(this, null, null);
}
示例2: findPool
import java.lang.management.MemoryPoolMXBean; //導入方法依賴的package包/類
private static MemoryPoolMXBean findPool()
{
MemoryPoolMXBean ret = null;
for (MemoryPoolMXBean pool : ManagementFactory.getMemoryPoolMXBeans()) {
if (pool.getType() == MemoryType.HEAP && pool.isUsageThresholdSupported()) {
ret = pool;
}
}
// we do something when we reached 99.9% of memory usage
// when we get to this point gc was unable to recover memory.
ret.setCollectionUsageThreshold((long) Math.floor(ret.getUsage().getMax() * 0.999));
return (ret);
}