由于启动服务的时候报了错,所以找原因呀,找到了jvm内存这块,上网搜了搜解决了,所以来简单记录一下子~
默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错(所以我就报错了,启不来服务了,内存不够)
一、各参数的比例
-Xms是设置内存初始化的大小
-Xmx是设置最大能够使用内存的大小(最好不要超过物理内存大小)
Xmx 与PermSize的和不可超过JVM可获得的总内存
PermSize不可大于Xmx
二、JVM内存分配设置的参数有四个:
-XMX JAVA HEAP最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
-XMS JAVA HEAP初始值,SERVER端JVM最好将-XMS和-XMX设为相同值,开发测试机JVM可以保留默认值;
-XMN JAVA HEAP YOUNG区大小,不熟悉最好保留默认值;
-XSS 每个线程的STACK大小,不熟悉最好保留默认值;
1.Idea中修改JVM内存大小
打开idea中jvm报错的服务,点击startup/connection,点击debug,在JAVA_OPTS下方加入(JAVA_OPTS=-Xss5m -Xms1024m -Xmx2048m -XX:MaxPermSize\=512m)如图,重起tomcat服务,设置生效,只作用当前服务
2.windows下修改JVM内存大小
(1)情况一 : 解压版本的Tomcat, 要通过startup.bat启动tomcat才能加载配置
Windows直接打开Tomcat根目录下的bin文件夹,编辑catalina.bat,
在set JAVA_OPTS=%JAVA_OPTS%…这句之后加上:set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m
重起tomcat服务,设置生效
(2)情况二 : 安装版的Tomcat下没有bat
若没有catalina.bat,只有tomcat.exe,tomcat6w.exe;
则可以在启动tomcat6w.exe 后 右键配置–Java–java option 下面输入:
-Xmx256m
-Xms64m
也可以找到注册表HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationTomcat Service ManagerTomcat6ParametersJavaOptions
原值为
-Dcatalina.home=“C:ApacheGroupTomcat 6.0”
-Djava.endorsed.dirs=“C:ApacheGroupTomcat 6.0commonendorsed”
-Xrs
加入
-Xms300m
-Xmx350m
重起tomcat服务,设置生效
3.Linux下修改JVM内存大小
要添加在tomcat的bin 下catalina.sh 里,位置cygwin=false前,注意引号要带上
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS=“-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m”
cygwin=false