堆的最小值:-Xms如-Xms20m
堆的最大值-Xmx可以设置为相同,以避免堆自动扩展。
年轻代大小:-Xmn
-XX:+HeapDumpOnOutOfMemoryError:内存已满时丢弃当前内存堆转储快照。
Eclipse中虚拟机参数设置:debugAs-->opendubugdialog
生成后;使用EclipseMemoryAnalyzer分析堆转储文件(需要安装MAT插件)。-Xss:JDK1.5之后,默认为1M,在抛出StackOverFlow异常之前,此限制为256K:操作系统分配的内存仅限于每个参数。设备内存减去Xmx减去MaxPermSize;程序计数器占用的内存被忽略,剩余的内存在虚拟机堆栈和本地方法堆栈之间分配,因此分配给每个线程的堆栈量越大,它越小。分配的线程数。在正常情况下,如果节深度为1000-2000由于创建更多线程而导致内存溢出。如果线程数无法减少。唯一的办法就是用Xmx交换更多的线程并减少堆栈容量。。-PermSize:方法区初始容量;默认为物理内存的1/64
-MaxPermSize:最大方法区容量。-XX-MaxDirectMemorySize本机直接内存大小;如果没有指定,与Xmx相同
上一篇:程序内存溢出怎么解决
下一篇:内存溢出报错