IntellijIDEA的RunConfiguration配置VMoptions参数
例如填写VM options :
-Xms512m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=256m
每⼀项以空格隔开.
参数说明
-Xms768m:设置JVM初始堆内存为768m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmx768m:设置JVM最⼤堆内存为768m。
-Xss128k:设置每个线程的栈⼤⼩。JDK5.0以后每个线程栈⼤⼩为1M,之前每个线程栈⼤⼩为256K。应当根据应⽤的线程所需内存⼤⼩进⾏调整。在相同物理内存下,减⼩这个值能⽣成更多的线程。但是操作系统对⼀个进程内的线程数还是有限制的,不能⽆限⽣成,经验值在3000~5000左右。需要注意的是:当这个值被设置的较⼤(例如>2MB)时将会在很⼤程度上降低系统的性能。
-
Xmn2g:设置年轻代⼤⼩为2G。在整个堆内存⼤⼩确定的情况下,增⼤年轻代将会减⼩年⽼代,反之亦然。此值关系到JVM垃圾回收,对系统性能影响较⼤,官⽅推荐配置为整个堆⼤⼩的3/8。
-XX:NewSize=1024m:设置年轻代初始值为1024M。
intellijidea
-XX:MaxNewSize=1024m:设置年轻代最⼤值为1024M。
-XX:PermSize=256m:设置持久代初始值为256M。
-XX:MaxPermSize=256m:设置持久代最⼤值为256M。
-XX:NewRatio=4:设置年轻代(包括1个Eden和2个Survivor区)与年⽼代的⽐值。表⽰年轻代⽐年⽼代为1:4。
-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的⽐值。表⽰2个Survivor区(JVM堆内存年轻代中默认有2个⼤⼩相等的Survivor 区)与1个Eden区的⽐值为2:4,即1个Survivor区占整个年轻代⼤⼩的1/6。
-XX:MaxTenuringThreshold=7:表⽰⼀个对象如果在Survivor区(救助空间)移动了7次还没有被垃圾回收就进⼊年⽼代。如果设置为0的话,则年轻代对象不经过Survivor区,直接进⼊年⽼代,对于需要⼤
量常驻内存的应⽤,这样做可以提⾼效率。如果将此值设置为⼀个较⼤值,则年轻代对象会在Survivor区进⾏多次复制,这样可以增加对象在年轻代存活时间,增加对象在年轻代被垃圾回收的概率,减少Full GC 的频率,这样做可以在某种程度上提⾼服务稳定性。
标准参数,所有JVM都必须⽀持这些参数的功能,⽽且向后兼容;例如:
-client——设置JVM使⽤Client模式,特点是启动速度⽐较快,但运⾏时性能和内存管理效率不⾼,通常⽤于客户端应⽤程序或开发调试;在32位环境下直接运⾏Java程序默认启⽤该模式。
-server——设置JVM使Server模式,特点是启动速度⽐较慢,但运⾏时性能和内存管理效率很⾼,适⽤于⽣产环境。在具有64位能⼒的JDK 环境下默认启⽤该模式。
⾮标准参数(-X),默认JVM实现这些参数的功能,但是并不保证所有JVM实现都满⾜,且不保证向后兼容;
⾮稳定参数(-XX),此类参数各个JVM实现会有所不同,将来可能会不被⽀持,需要慎重使⽤;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。