java堆
-Xms and -Xmx (or: -XX:InitialHeapSize and -XX:MaxHeapSize)
指定JVM的初始和最大堆内存大小,Xms也可以理解为堆的最小值,两个值相等时java堆的大小确定。
java.lang.OutOfMemoryError:Java heap space
出现内存泄漏或者内存溢出。
通过设置-XX:+HeapDumpOnOutOfMemoryError 让JVM在发生内存溢出时自动的生成堆内存快照
内存泄漏:垃圾收集器无法自动回收它们,查看泄漏对象是通过怎样的路径与GC Roots相关联。
内存溢出:对象中的内存都必须存活,检查堆参数,与机器物理内存相比看是否可以调大。
虚拟机栈和本地方法栈溢出
本地方法栈参数-Xoss,但是HotSpot不区分虚拟机栈和本地方法栈,所以使用-Xss参数设定栈容量。
本机直接内存溢出
通过-XX:MaxDirectMemorySize指定,如果不指定,默认与堆最大值一样。