您好,欢迎来到投聚财经。
搜索
您的当前位置:首页虚拟机配置以及各种常见错误总结

虚拟机配置以及各种常见错误总结

来源:投聚财经




-Xms20m-Xmx20m-XX:+HeapDumpOnOutOfMemoryError
以上参数:
-Xms20m:表示堆的最小值为20M
-Xms20m:表示堆的最大值同样设置为20M,
-XX:+HeapDumpOnOutOfMemoryError:表示的意思是可以让虚拟机在出现内存溢出异常是Dump(倾倒,倾卸,垃圾场,倒垃圾)出当前内存堆转储快照以便事后进行分析。

Debugconfiguration中配置以上参数,运行一下代码:将出现最下面的异常。-Xms20m-Xmx20m -XX:+HeapDumpOnOutOfMemoryError
当改变上面的数值的参数后,可以改变运行了的次数。

入以下代码:
packagecom.it;

importjava.util.ArrayList;
importjava.util.List;

publicclassHeapOOM {
staticclassOOMObject{
}

publicstaticvoid main(String[] args) { int i = 0; List<OOMObject> list = new ArrayList<OOMObject>();
}
}
出现的异常如下:
1005306
1005307
1005308
java.lang.OutOfMemoryError: Javaheap space
Dumping heap to java_pid4568.hprof ...

Heapdump file created [22044099 bytes in 0.4 secs]
Exceptionin thread "main" java.lang.OutOfMemoryError: Java heapspace atjava.util.Arrays.copyOf(Unknown Source)
atjava.util.Arrays.copyOf(Unknown Source)
atjava.util.ArrayList.ensureCapacity(Unknown Source)
atjava.util.ArrayList.add(Unknown Source)

说明:(22044099/1024)/1024 atcom.it.HeapOOM.main(HeapOOM.java:14) = 21M,比配置过的参数多1M(一般比配置的数值大).此程

序片段运行了1005308次,运行时间是0.4秒。出现的异常是堆内存溢出异常。



在运行以上程序片段期间,CPU使用率也将上升,几度为100%。运行之前的截图如下:

运行之后的截图如下:





Copyright © 2019- tjwe.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务