修改Linux下JVM内存大小:在tomcatbin下的catalina.sh文件中添加,找到cygwin=false,在这一行前面添加参数,如下#viTOMCAT_HOME/bin/catalina.sh(默认文件内容)下面是自己设置的。再添加一个setenv.sh文件,设置tomcat内存,并为文件添加执行权限#vi/opt/app/tomcat6/bin/setenv.shexportJAVA_OPTS="-server-Xms512m-Xmx1024m-XX:MaxNewSize=512m-XX:PermSize=128m-XX:MaxPermSize=256m-XX:SurvivorRatio=14-XX:+UseParallelOldGC”或者直接修改tomcat配置文件#viTOMCAT_HOME/bin/catalina.confshJAVA_OPTS="-server-Xms512m-Xmx1024m-XX:MaxNewSize=512m-XX:PermSize=128m-XX:MaxPermSize=256m-XX:SurvivorRatio=14-XX:+UseParallelOldGC"jvm参数说明:-server必须是第一个参数,启用服务器版本的JDK,在多个CPU中性能良好-Xmsjava堆初始大小。默认值为物理内存的1/64。-Xmxjava堆最大值。建议设置为物理内存的80%。不能超过物理内存。-Xmnjava堆的最小值,一般设置为Xmx的1/3或4。-XX:PermSize设置内存永久存储区的初始大小,默认值为64M。-XX:MaxPermSize设置内存永久存储区的最大大小,默认值为64M。-XX:SurvivorRatio=2幸存者池大小,默认为2。如果垃圾收集成为瓶颈,你可以尝试自定义生成池设置-XX:NewSize新生成池的初始大小。默认值为2M。-XX:MaxNewSize新生成的池的最大大小。默认值为32M。+XX:AggressiveHeap让jvm忽略Xmx参数,疯狂吃掉一个G的物理内存,然后再吃掉一个G的swap。-Xss每个线程的堆栈大小-verbose:gc实现垃圾收集信息-Xloggc:gc.log指定垃圾收集日志文件-XX:+UseParNewGC缩短次要收集时间-XX:+UseConcMarkSweepGC缩短主要收集时间-XX:userParNewGC可以用于设置并行收集器(多CPU)-XX:ParallelGCThreads可用于增加并行度(多CPU)-XX:UseParallelGC设置后可用于使用并行清除收集器(多CPU)-XX:+UseParallelOldGC:Configureoldgenerationgarbage的收集方式是并行收集。JDK6.0支持老年代的并行收集。Windows下修改JVM内存大小:情况一:解压版的tomcat需要通过startup.bat启动tomcat加载配置,需要在tomcat的bin下的catalina.bat中添加配置。在remGuessCATALINA_HOMEifnotdefined后添加setCURRENT_DIR=%cd%:setJAVA_OPTS="-server-Xms800m-Xmx3072m-XX:PermSize=512m-XX:MaxNewSize=256m-XX:MaxPermSize=1024m"另注(详解):JVM常用参数配置总结▼HeapSettings-Xms:InitialHeapSize-Xmx:Maximumheapsize-XX:NewSize=n:设置新生代的大小-XX:NewRatio=n:设置新生代的比例为老一代。例如:3,表示新生代和老年代的比例为1:3,新生代占整个新生代和老年代总和的1/4-XX:SurvivorRatio=n:之间的比例Eden区和Survivor区在新生代中的比例。请注意,有两个幸存者区域。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5-XX:+UseParallelGC:SetParallelCollector-XX:+UseParalledlOldGC:SetParallelOldGenerationCollector-XX:+UseConcMarkSweepGC:设置并发收集器▼垃圾收集统计-XX:+PrintGC-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-Xloggc:filename▼并行收集器设置-XX:ParallelGCThreads=n:设置并行收集器使用的CPU数去收集。并行收集线程数。-XX:MaxGCPauseMillis=n:设置并行收集的最大暂停时间-XX:GCTimeRatio=n:设置垃圾收集时间占程序运行时间的百分比。公式为1/(1+n)▼并发收集器设置-XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU机箱。-XX:ParallelGCThreads=n:设置并发收集器的新生代收集方式为并行收集时使用的CPU数。并行收集线程数。
