平时通过eclipse启动web项目,突然想用tomcat直接启动,但是启动时报错:
发现内存分配不够。eclipse可以正常启动是因为当时应配置了:
,所以(项目很大)直接用tomcat启动时,需要加分配更多的资源。
进入tomcat的bin目录,打开catalina.sh 文件修改:JVM:JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xss512k"。
-server:一定要作为第一个参数,在多个CPU时性能佳
-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:java heap最大值,使用的最大内存
-Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。tomcat配置,遇见了边去查资料以后继续加在这个随笔里面。
本项目eclipse中jvm还配置了:
-XX:MaxPermSize=256m:JVM最大允许分配的非堆内存,按需分配
-XX:MaxNewSize=256m