发布网友 发布时间:2022-12-07 19:08
共1个回答
热心网友 时间:2023-11-21 14:11
jvm内存有好几种呢 windows下修改JVM内存大小: 情况一:解压版本的Tomcat,要通过startup.bat启动tomcat才能加载配置 要添加在tomcat的bin下catalina.bat里 remGuessCATALINA_HOMEifnotdefined setCURRENT_DIR=%cd%后面添加,红色的为新添加的. setJAVA_OPTS=-Xms256m-Xmx512m-XX:PermSize=128M-XX:MaxNewSize=256m-XX:MaxPermSize=256m-Djava.awt.headless=true 情况二:安装版的Tomcat下没有catalina.bat windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置. 修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\ApacheSoftwareFoundation\TomcatServiceManager\Tomcat5\Parameters\JavaOptions 原值为 -Dcatalina.home="C:\ApacheGroup\Tomcat5.0" -Djava.endorsed.dirs="C:\ApacheGroup\Tomcat5.0\common\endorsed" -Xrs 加入-Xms300m-Xmx350m 重起tomcat服务,设置生效 jvm参数说明: -server一定要作为第一个参数,启用JDK的server版本,在多个CPU时性能佳 -XmsjavaHeap初始大小。默认是物理内存的1/64。 -Xmxjavaheap最大值。建议均设为物理内存的80%。不可超过物理内存。 -Xmnjavaheap最小值,一般设置为Xmx的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每个线程的Stack大小 -verbose:gc现实垃圾收集信息 -Xloggc:gc.log指定垃圾收集日志文件 -XX:+UseParNewGC缩短minor收集的时间 -XX:+UseConcMarkSweepGC缩短major收集的时间 -XX:userParNewGC可用来设置并行收集(多CPU) -XX:ParallelGCThreads可用来增加并行度(多CPU) -XX:UseParallelGC设置后可以使用并行清除收集器(多CPU)