OUT OF MEMORY at lin...

tomcat6 启动加载项目时报内存溢出 急 - ITeye问答
在windows系统下。
我将一个大的项目拷贝到tomcat/webapps该目录下,在启动tomcat时报内存溢出,也试过在bin/catalina目录下添加set J***A_OPTS此内容,启动后结果还是一样报错,敬请帮忙 [size=xx-small][/size]
以下是部分报错信息:
- Closing Hibernate SessionFactory
- Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'velocityEngine' defined in class path resource [conf/app-resou
rces.xml]: Invocation o nested exception is java.lang.OutOfMemoryError: PermGen space
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
&&&&&&& at java.security.AccessController.doPrivileged(Native Method)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
&&&&&&& at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
&&&&&&& at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
&&&&&&& at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
&&&&&&& at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
&&&&&&& at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
&&&&&&& at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
&&&&&&& at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
&&&&&&& at com.htsoft.core.web.listener.StartupListener.contextInitialized(StartupListener.java:22)
&&&&&&& at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
&&&&&&& at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
&&&&&&& at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
&&&&&&& at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
&&&&&&& at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
&&&&&&& at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
&&&&&&& at org.apache.catalina.core.StandardService.start(StandardService.java:525)
&&&&&&& at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
&&&&&&& at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
&&&&&&& at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&&&&&&& at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
&&&&&&& at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&&&&&&& at java.lang.reflect.Method.invoke(Method.java:597)
&&&&&&& at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
&&&&&&& at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.OutOfMemoryError: PermGen space
&&&&&&& at java.lang.ClassLoader.defineClass1(Native Method)
&&&&&&& at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
&&&&&&& at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
&&&&&&& at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
&&&&&&& at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
&&&&&&& at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
&&&&&&& at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
&&&&&&& at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
&&&&&&& at org.apache.velocity.runtime.RuntimeInstance.getString(RuntimeInstance.java:1656)
&&&&&&& at org.apache.velocity.runtime.RuntimeInstance.initializeResourceManager(RuntimeInstance.java:625)
&&&&&&& at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:251)
&&&&&&& at org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:107)
&&&&&&& at org.springframework.ui.velocity.VelocityEngineFactory.createVelocityEngine(VelocityEngineFactory.java:256)
&&&&&&& at org.springframework.ui.velocity.VelocityEngineFactoryBean.afterPropertiesSet(VelocityEngineFactoryBean.java:57)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
&&&&&&& at java.security.AccessController.doPrivileged(Native Method)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
&&&&&&& at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
&&&&&&& at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
&&&&&&& at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
&&&&&&& at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
&&&&&&& at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
&&&&&&& at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
&&&&&&& at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
&&&&&&& at com.htsoft.core.web.listener.StartupListener.contextInitialized(StartupListener.java:22)
14:39:51 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class com.htsoft.core.web.listener.StartupListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'velocityEngine' defined in class path resource [conf/app-resou
rces.xml]: Invocation o nested exception is java.lang.OutOfMemoryError: PermGen space
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
&&&&&&& at java.security.AccessController.doPrivileged(Native Method)
&&&&&&& at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
&&&&&&& at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
&&&&&&& at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
&&&&&&& at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
问题补充:Wind_ZhongGang 写道重新打包一下项目 rebuild
rebuild以后也是一样的问题
问题补充:魔力猫咪 写道调整服务器启动时的内存分配。缺省服务器的内存容量,各个区的容量一般偏小,请根据自己的情况进行调整。
在哪个文件中调整呀&& 之前我是在bin/cataline.bat文件中添加的内存大小,设置好后启动时还是一样
问题补充:魔力猫咪 写道J***A_OPTS没有设置对。你仔细看一下。
我是将下面的内容设置在bin/cataline.bat文件中的
set J***A_OPTS=-Xms800m -Xmx800m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
问题补充:linleizi 写道双击..\bin\tomcat5w.exe打开,点击java按钮,修改Inital memory pool和Maximum memory pool的大小。
如果还不行就配置系统环境变量:
变量名:J***A_OPTS
变量值:-Xms64m -Xmx512m
根据自己的机器调整变量值的大小。
tomcat6的bin目录下没有tomcat5w.exe此执行文件
于是我添加环境变量,我机器的内存是1.75G内存
启动还是不行
问题补充:linleizi 写道我用的是TOMCAT5.0,你看看有没有..\bin\tomcat6w.exe或者类似的文件。
tomcat6是没有这些执行文件的,我这里的tomcat是解压版的,不是***版本的
问题补充:qq1988627 写道配置下jvm大小
在哪里设置的啊
问题补充:linleizi 写道那就只能通过修改配置文件了。
通过哪里的配置文件呀
问题补充:chenjingbo 写道 Invocation o nested exception is java.lang.OutOfMemoryError: PermGen space
已经很明确的告诉你 PermGen溢出了..你只要增加permGen大小就可以了..具体的配置就是
-XX:MaxPermSize=512m
如果你的工程连512m都不够,那么我觉得可能是死循环造成的..因为整个eclipse也就一百多m..
我没有用eclipse,直接将工程拷贝到webapps目录下,
通过startup.bat此文件启动的
工程的大小102MB
问题补充:chenjingbo 写道@Wind_ZhongGang 你们这个服务器配置,我的建议是 -Xms512m -Xmx1024m 这两个值设置成一样,否则在堆扩容或者降容的时候都会造成额外的full gc.而这个是完全可以避免的..
我试过了还是不可以的。
&Host name="" debub="0" appBase="D:/apache-tomcat-6.0.33/webapps/" unpackWARs="true" autoDeploy="true"&
& &Context path="" docBase="D:/apache-tomcat-6.0.33/webapps/joffice20" debug="0"&&&&&
& &/Context&&&&&
& &/Host&
当我不在conf/server.xml文件添加这个的时候就没有错,当添加了此段配置信息就报错了。
问题补充:chenjingbo 写道你把工程放到tomcat下,他需要加载这么多class类信息等等,所以造成的永久代溢出的..你不加载工程当然就不会有溢出.你能看到对应永久代的大小不..用visualVM
上面的Host只为配置域名,我不加上这个也应该会加载工程吧
方便的加我的QQ
问题补充:chenjingbo 写道你把工程放到tomcat下,他需要加载这么多class类信息等等,所以造成的永久代溢出的..你不加载工程当然就不会有溢出.你能看到对应永久代的大小不..用visualVM
问题补充:chenjingbo 写道&Context path="" docBase="D:/apache-tomcat-6.0.33/webapps/joffice20" debug="0"&&&&&
这句就是指向工程目录的,怎么会没加载哦.呵呵
这是tomcat/conf/目录server.xml配置文件的内容:如下
&?xml version='1.0' encoding='utf-8'?&
&!--
& Licensed to the Apache Software Foundation (ASF) under one or more
& contributor license agreements.& See the NOTICE file distributed with
& this work for additional information regarding copyright ownership.
& The ASF licenses this file to You under the Apache License, Version 2.0
& (the "License"); you may not use this file except in compliance with
& the License.& You may obtain a copy of the License at
&&&&& http://www.apache.org/licenses/LICENSE-2.0
& Unless required by applicable law or agreed to in writing, software
& distributed under the License is distributed on an "AS IS" BASIS,
& WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
& See the License for the specific language governing permissions and
& limitations under the License.
--&
&!-- Note:& A "Server" is not itself a "Container", so you may not
&&&& define subcomponents such as "Valves" at this level.
&&&& Documentation at /docs/config/server.html
--&
&Server port="8005" shutdown="SHUTDOWN"&
& &!--APR library loader. Documentation at /docs/apr.html --&
& &Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /&
& &!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --&
& &Listener className="org.apache.catalina.core.JasperListener" /&
& &!-- Prevent memory leaks due to use of particular java/javax APIs--&
& &Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /&
& &!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html --&
& &Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /&
& &Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /&
& &!-- Global JNDI resources
&&&&&& Documentation at /docs/jndi-resources-howto.html
& --&
& &GlobalNamingResources&
&&& &!-- Editable user database that can also be used by
&&&&&&&& UserDatabaseRealm to authenticate users
&&& --&
&&& &Resource name="UserDatabase" auth="Container"
&&&&&&&&&&&&& type="org.apache.catalina.UserDatabase"
&&&&&&&&&&&&& description="User database that can be updated and saved"
&&&&&&&&&&&&& factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
&&&&&&&&&&&&& pathname="conf/tomcat-users.xml" /&
& &/GlobalNamingResources&
& &!-- A "Service" is a collection of one or more "Connectors" that share
&&&&&& a single "Container" Note:& A "Service" is not itself a "Container",
&&&&&& so you may not define subcomponents such as "Valves" at this level.
&&&&&& Documentation at /docs/config/service.html
&& --&
& &Service name="Catalina"&
&
&&& &!--The connectors can use a shared executor, you can define one or more named thread pools--&
&&& &!--
&&& &Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
&&&&&&& maxThreads="150" minSpareThreads="4"/&
&&& --&
&&&
&&& &!-- A "Connector" represents an endpoint by which requests are received
&&&&&&&& and responses are returned. Documentation at :
&&&&&&&& Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
&&&&&&&& Java AJP& Connector: /docs/config/ajp.html
&&&&&&&& APR (HTTP/AJP) Connector: /docs/apr.html
&&&&&&&& Define a non-SSL HTTP/1.1 Connector on port 8080
&&& --&
&&& &Connector port="8080" protocol="HTTP/1.1"
&&&&&&&&&&&&&& connectionTimeout="20000"
&&&&&&&&&&&&&& redirectPort="8443" /&
&!--&Connector port="8080" maxHttpHeaderSize="8192"
&&&&&&&&&&&&&& maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
&&&&&&&&&&&&&& enableLookups="false" redirectPort="8443" acceptCount="100"
&&&&&&&&&&&&&& connectionTimeout="20000" disableUploadTimeout="true" /&--&
&&& &!-- A "Connector" using the shared thread pool--&
&&& &!--
&&& &Connector executor="tomcatThreadPool"
&&&&&&&&&&&&&& port="8080" protocol="HTTP/1.1"
&&&&&&&&&&&&&& connectionTimeout="20000"
&&&&&&&&&&&&&& redirectPort="8443" /&
&&& --&&&&&&&&&&&
&&& &!-- Define a SSL HTTP/1.1 Connector on port 8443
&&&&&&&& This connector uses the JSSE configuration, when using APR, the
&&&&&&&& connector should be using the OpenSSL style configuration
&&&&&&&& described in the APR documentation --&
&&& &!--
&&& &Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
&&&&&&&&&&&&&& maxThreads="150" scheme="https" secure="true"
&&&&&&&&&&&&&& clientAuth="false" sslProtocol="TLS" /&
&&& --&
&&& &!-- Define an AJP 1.3 Connector on port 8009 --&
&&& &Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" /&
&&& &!-- An Engine represents the entry point (within Catalina) that processes
&&&&&&&& every request.& The Engine implementation for Tomcat stand alone
&&&&&&&& analyzes the HTTP headers included with the request, and passes them
&&&&&&&& on to the appropriate Host (virtual host).
&&&&&&&& Documentation at /docs/config/engine.html --&
&&& &!-- You should set jvmRoute to support load-balancing via AJP ie :
&&& &Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"&&&&&&&&&
&&& &Engine name="Catalina" defaultHost="localhost"&
&&&&& &!--For clustering, please take a look at documentation at:
&&&&&&&&& /docs/cluster-howto.html& (simple how to)
&&&&&&&&& /docs/config/cluster.html (reference documentation) --&
&&&&& &!--
&&&&& &Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/&
&&&&& --&&&&&&&&
&&&&& &!-- The request dumper valve dumps useful debugging information about
&&&&&&&&&& the request and response data received and sent by Tomcat.
&&&&&&&&&& Documentation at: /docs/config/valve.html --&
&&&&& &!--
&&&&& &Valve className="org.apache.catalina.valves.RequestDumperValve"/&
&&&&& --&
&&&&& &!-- This Realm uses the UserDatabase configured in the global JNDI
&&&&&&&&&& resources under the key "UserDatabase".& Any edits
&&&&&&&&&& that are performed against this UserDatabase are immediately
&&&&&&&&&& available for use by the Realm.& --&
&&&&& &Realm className="org.apache.catalina.realm.UserDatabaseRealm"
&&&&&&&&&&&& resourceName="UserDatabase"/&
&&&&& &!-- Define the default virtual host
&&&&&&&&&& Note: XML Schema validation will not work with Xerces 2.2.
&&&&&& --&
&&&&& &Host name="localhost"& appBase="webapps"
&&&&&&&&&&& unpackWARs="true" autoDeploy="true"
&&&&&&&&&&& xmlValidation="false" xmlNamespaceAware="false"&
&&&&&&& &!-- SingleSignOn valve, share authentication between web applications
&&&&&&&&&&&& Documentation at: /docs/config/valve.html --&
&&&&&&& &!--
&&&&&&& &Valve className="org.apache.catalina.authenticator.SingleSignOn" /&
&&&&&&& --&
&&&&&&& &!-- Access log processes all example.
&&&&&&&&&&&& Documentation at: /docs/config/valve.html --&
&&&&&&& &!--
&&&&&&& &Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"&
&&&&&&&&&&&&&& prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/&
&&&&&&& --&
&&&&& &/Host&
& &Host name="" debub="0" appBase="D:/apache-tomcat-6.0.33/webapps/" unpackWARs="true" autoDeploy="true"&
& &Context path="" docBase="D:/apache-tomcat-6.0.33/webapps/joffice20" debug="0"&&&&&
& &/Context&&&&&
&&& &/Engine&
& &/Service&
&/Server&
问题补充:chenjingbo 写道晕,你在webapp下放着,又在server.xml里配置..会造成重复的..这个重复会不会出问题..我没试过..你可以试试把server.xml里的工程加载配置删除,直接启动,然后访问
下面那个Host是配置域名的,配置域名是要这么写的,域名类似www.***.com这样子的,我如果放一个小工程这样子就没有任何问题的
问题补充:chenjingbo 写道那你别把工程copy到webapps下啊.其他任何地方都可以..然后在&Context path="" docBase="D:/apache-tomcat-6.0.33/webapps/joffice20" debug="0"&&&&& 指过去,就可以了..
可以了& 谢了
采纳的***
那你别把工程copy到webapps下啊.其他任何地方都可以..然后在&Context path="" docBase="D:/apache-tomcat-6.0.33/webapps/joffice20" debug="0"&&&&& 指过去,就可以了..
这讲的很详细:
/blog/1164814
晕,你在webapp下放着,又在server.xml里配置..会造成重复的..这个重复会不会出问题..我没试过..你可以试试把server.xml里的工程加载配置删除,直接启动,然后访问
&Context path="" docBase="D:/apache-tomcat-6.0.33/webapps/joffice20" debug="0"&&&&&
这句就是指向工程目录的,怎么会没加载哦.呵呵
你把工程放到tomcat下,他需要加载这么多class类信息等等,所以造成的永久代溢出的..你不加载工程当然就不会有溢出.你能看到对应永久代的大小不..用visualVM
@Wind_ZhongGang 你们这个服务器配置,我的建议是 -Xms512m -Xmx1024m 这两个值设置成一样,否则在堆扩容或者降容的时候都会造成额外的full gc.而这个是完全可以避免的..
引用就是你改过的bin/cataline.bat文件中的
set J***A_OPTS=-Xms800m -Xmx800m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
修改后在管理,服务里面重新启动下
如果还不好用,建议换个其他版本的服务器
上面这个方法是对的..至于这个修改是否生效,再说一次,打开visualVM看看
-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m
我是这样在服务器配置中进行设置的。
如果你是用eclipse跑的话,参考上面那位仁兄的位置,加上 -XX:MaxPermSize=512m 试试看.
你打开visualVM看看,这个配置是否生效了.visualVM就在jdk的bin目录..JVisualVM .
就是你改过的bin/cataline.bat文件中的
set J***A_OPTS=-Xms800m -Xmx800m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
修改后在管理,服务里面重新启动下
如果还不好用,建议换个其他版本的服务器
我很好奇,你竟然连256m都不够..你可以开visualVM看看..具体的PermGen占了多少
configure server -&server-&tomcat-&jdk-&java VM下面方框里数据配置信息
Invocation o nested exception is java.lang.OutOfMemoryError: PermGen space
已经很明确的告诉你 PermGen溢出了..你只要增加permGen大小就可以了..具体的配置就是
-XX:MaxPermSize=512m
如果你的工程连512m都不够,那么我觉得可能是死循环造成的..因为整个eclipse也就一百多m..
那就只能通过修改配置文件了。
配置下jvm大小
我用的是TOMCAT5.0,你看看有没有..\bin\tomcat6w.exe或者类似的文件。
问题补充:
魔力猫咪 写道
J***A_OPTS没有设置对。你仔细看一下。
我是将下面的内容设置在bin/cataline.bat文件中的
set J***A_OPTS=-Xms800m -Xmx800m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
这种方式我曾经试过,但是不知道为什么不好用,你最好试试设置系统环境变量。
J***A_OPTS没有设置对。你仔细看一下。
双击..\bin\tomcat5w.exe打开,点击java按钮,修改Inital memory pool和Maximum memory pool的大小。
如果还不行就配置系统环境变量:
变量名:J***A_OPTS
变量值:-Xms64m -Xmx512m
根据自己的机器调整变量值的大小。
调整服务器启动时的内存分配。缺省服务器的内存容量,各个区的容量一般偏小,请根据自己的情况进行调整。
重新打包一下项目 rebuild
已解决问题
未解决问题

参考资料

 

随机推荐