1 4 package com.tc.runtime; 5 6 import com.tc.test.TCTestCase; 7 8 import java.lang.management.ManagementFactory ; 9 import java.lang.management.MemoryPoolMXBean ; 10 import java.util.Iterator ; 11 import java.util.List ; 12 13 public class MemoryPoolsTest extends TCTestCase { 14 15 public void testMemoryPools() throws Exception { 16 List pools = ManagementFactory.getMemoryPoolMXBeans(); 17 for (Iterator i = pools.iterator(); i.hasNext();) { 18 MemoryPoolMXBean mpBean = (MemoryPoolMXBean ) i.next(); 19 System.err.println(mpBean); 20 System.err.println(" Name = " + mpBean.getName()); 21 System.err.println(" Usage Threashold supported = " + mpBean.isUsageThresholdSupported()); 22 System.err.println(" Collection Usage = " + mpBean.getCollectionUsage()); 23 System.err.println(" Type = " + mpBean.getType()); 24 System.err.println(" Usage = " + mpBean.getUsage()); 25 System.err.println("====================="); 26 } 27 JVMMemoryManager memManager = new TCMemoryManagerJdk15(); 28 assertTrue(memManager.isMemoryPoolMonitoringSupported()); 29 MemoryUsage mu1 = memManager.getOldGenUsage(); 30 assertNotNull(mu1); 31 long collectorCount1 = mu1.getCollectionCount(); 32 System.err.println("Collector Count = " + collectorCount1); 33 assertTrue(collectorCount1 > -1); 34 System.gc(); 35 MemoryUsage mu2 = memManager.getOldGenUsage(); 36 assertNotNull(mu2); 37 long collectorCount2 = mu2.getCollectionCount(); 38 System.err.println("Now the Collector Count is " + collectorCount2); 39 assertTrue(collectorCount2 > collectorCount1); 40 } 41 } 42 | Popular Tags |