jvm虚拟机参数

JAVA_OPTS=-server -Xms6000M -Xmx6000M -Xss1024k -Xmn2250M -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=1024M -XX:MaxPermSize=6000M -XX:+DisableExplicitGC -XX:SurvivorRatio=65536 -XX:MaxTenuringThreshold=0 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC  -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true

 -Xms:最小使用物理内存

-Xmx:不能超过物理内存的大小的,另外如果你的机器是32位的那jvm最多也只能用2G,64位无限制

-Xss:每个线程的堆栈大小

-Xmn:设置年轻代大小,整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小,Sun官方推荐配置为整个堆的3/8

-XX:+AggressiveOpts加快编译

-XX:+UseBiasedLocking     锁机制的性能改善

-XX:PermSize  最小PermSpace大小

-XX:MaxPermSize 最大PermSpace大(影响存放静态的类信息和方法信息,静态的方法和变量,final标注的常量信息的使用内存空间

-XX:+DisableExplicitGC 防止某些手贱的同学在代码里到处写System.gc(),把这个代码置为无效

 -XX:SurvivorRatio=65536 -XX:MaxTenuringThreshold=0  去掉了救助空间

-XX:+UseConcMarkSweepGC  设置年老代为并发收集

-XX:+UseParNewGC  设置年轻代为并行收集

-XX:+CMSParallelRemarkEnabled 降低标记停顿

-XX:+UseCMSCompactAtFullCollection  CMS是不会移动内存的, 因此, 这个非常容易产生碎片, 导致内存不够用, 因此, 内存的压缩这个时候就会被启用。 增加这个参数是个好习惯。

可能会影响性能,但是可以消除碎片

-XX:LargePageSizeInBytes=128m 内存页的大小不可设置过大, 会影响Perm的大小

-XX:CMSInitiatingOccupancyFraction=70 使用cms作为垃圾回收

使用70%后开始CMS收集

-XX:+UseFastAccessorMethods 原始类型的快速优化

-XX:+UseCMSInitiatingOccupancyOnly  使用手动定义初始化定义开始CMS收集

-Djava.awt.headless=true  不加会抛出

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.

猜你喜欢

转载自wenjie12201.iteye.com/blog/2170064