项目出现内存溢出现象,我想大牛们都会遇到过。最近做项目又遇到了,后来加一下内存监控逻辑,很简单一个代码,我看zuidaima没有关于这方面的,因此分享给有可能需要的牛牛们,也欢迎大牛提供更好的思路。public static void main(String[] args) throws Exception{
Runtime run = Runtime.getRuntime();
long max = run.maxMemory();
long total = run.totalMemory();
long free = run.freeMemory();
long usedable = total - free;
long usable = max - total + free;
System.out.println("最大内存 = " + max);
System.out.println("已分配内存 = " + total);
System.out.println("已分配内存中的已使用空间 = " + usedable);
System.out.println("已分配内存中的剩余空间 = " + free);
System.out.println("最大可用内存 = " + usable);
System.out.println();
}//main -- end
执行结果:(我的VM参数配置:-Xms32m -Xmx800m)
最大内存 = 832438272
已分配内存 = 33357824
已分配内存中的已使用空间 = 314816
已分配内存中的剩余空间 = 33043008
最大可用内存 = 832123456