eclipse JVM Tomcat 内存堆栈大小设置
1,设置Eclipse内存使用情况
修改eclipse根目录下的eclipse.ini文件
-vmargs//虚拟机设置
-Xms512m//初始内存
-Xmx512m//最大内存
-Xmn256m//新生代内存
-XX:PermSize=128M//非堆内存
-XX:MaxPermSize=128M
2,JVM内存设置
打开eclipsewindow-preferences-Java-InstalledJREs-Edit-DefaultVMArguments
在VM自变量中输入:-Xmx512m-Xms512m-Xmn256m-Xss16m
3,Tomcat内存设置
打开Tomcat根目录下的bin文件夹,编辑catalina.bat
修改为:setJAVA_OPTS=-Xms512m-Xmx512m
例子:
Java-Xms2g-Xmx2g-Xmn512M-Xss128K-XX:PermSize=128M-XX:MaxPermSize=128M-XX:NewRatio=4-XX:SurivorRatio=4-XX:MaxTenuringThreshold=1
-Xms2g:JVM启动初始化堆大小为2g,Xms的默认是物理内存的1/64但小于1G。
-Xmx2g:JVM最大的堆大小为2g,Xmx默认是物理内存的1/4但小于1G;将-Xms和-Xmx的值配置为一样,可以避免每次垃圾回收完成后对JVM堆大小进行重新的调整。
-Xmn512M:堆中的新生代大小为512M
-Xss128K:每个线程的堆栈大小为128K
-XX:PermSize=128M:JVM持久代的初始化大小为128M
-XX:MaxPermSize=128M:JVM持久代的最大大小为128M
-XX:NewRatio=4:JVM堆的新生代和老年代的大小比例为1:4
-XX:SurvivorRatio=4:新生代Surivor区(新生代有2个Surivor区)和Eden区的比例为2:4
-XX:MaxTenuringThreshold=1:新生代的对象经过几次垃圾回收后(如果还存活),进入老年代。如果该参数设置为0,这表示新生代的对象在垃圾回收后,不进入survivor区,直接进入老年代