Untitled
By: a guest | Mar 18th, 2010 | Syntax:
Java | Size: 0.67 KB | Hits: 40 | Expires: Never
public void contextInitialized(ServletContextEvent event) {
List<MemoryPoolMXBean> memoryPools = ManagementFactory.getMemoryPoolMXBeans();
for (MemoryPoolMXBean memoryPool : memoryPools) {
// only set for pools that have usage threshold enabled and are NOT
// already set somehow
if (memoryPool.isUsageThresholdSupported() && memoryPool.getUsageThreshold() == 0) {
MemoryUsage memoryUsage = memoryPool.getUsage();
long max = memoryUsage.getMax();
String p = System.getProperty("MemoryPoolUsageThresholdPercent", "95");
Integer percent = ParseUtil.parseInteger(p);
long threshold = max / 100 * percent;
memoryPool.setUsageThreshold(threshold);
}
}
}