**
JVM调优方式
**
前言
在上面我们讲到了四种情况下的对象位置,以及触发的回收机制,这四种情况通过代码讲解,可以清晰的理解,那么一旦违反了,那怎么通过参数调优解决相关问题呢?
调优参数含义
以下面的例子作为案例:
java -server -Xms4G -Xmx4G -Xmn2G -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1100 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar c1000k.jar&
-Xms4G 是指: JVM启动时整个堆(包括年轻代,年老代)的初始化大小。
-Xmx4G 是指: JVM启动时整个堆的最大值。
-Xmn2G是指:年轻代的空间大小,剩下的是年老代的空间。
-XX:SurvivorRatio=1是指:年轻代空间中2个Survivor空间与Eden空间的大小比例。此处为1:1:1,算法如下:比如整个年轻代空间为2G,如果比例为1,那么2/3,则S0/S1/Eden的空间大小是同样的,为666M。当然我们常用的是1:1:8,只需要修改成8即可。
-XX:+UseConcMarkSweepGC是指:使用GC的回收类型。这里是CMS类型,JDK1.7以后推荐使用+UseG1GC,被称为G1类型(或Garbage First)的回收器。
调优参数修改方式
1.使用IDEA修改参数
2.修改idea.exe.vmoptions配置文件
在idea安装包下面,找到idea.exe.vmoptions
现在的电脑基本上是64位,是没有大小限制的,如果是32位,那么有1.5G的上限。
3.Linux系统下,通过JAVA_OPTIONS命令修改调优参数
vim /etc/profile
export JAVA_OPTIONS=-Xms512m -Xmx512m...
上面参数可以根据自己的实际情况进行修改。
4.eclipse环境下
打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效)编辑当前使用的JRE,在缺省VM参数中输入调优参数。