Grails:Tomcat War文件部署导致内存异常

Grails:Tomcat War文件部署导致内存异常,tomcat,grails,Tomcat,Grails,我有一个正在Tomcat7.0.57中部署的Grails2.3.6版本的应用程序 我已将WAR文件放在Tomcat的webapps文件夹中。当我启动服务器时,控制台窗口中会出现异常。看起来部署正在进行,并且异常会在一段时间后抛出 请参阅下面的stacktrace:当我转到Windows任务管理器时,jave.exe占用了几乎70-80%的CPU INFO: Deploying web application archive C:\Tomcat7\apache-tomcat-7.0.57\weba

我有一个正在Tomcat7.0.57中部署的Grails2.3.6版本的应用程序

我已将WAR文件放在Tomcat的webapps文件夹中。当我启动服务器时,控制台窗口中会出现异常。看起来部署正在进行,并且异常会在一段时间后抛出

请参阅下面的stacktrace:当我转到Windows任务管理器时,jave.exe占用了几乎70-80%的CPU

INFO: Deploying web application archive C:\Tomcat7\apache-tomcat-7.0.57\webapps\
MY-1.0.2.war
Dec 22, 2014 3:58:17 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Dec 22, 2014 3:58:17 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Dec 22, 2014 3:58:18 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://www.springframework.org/tags is already defined
Dec 22, 2014 3:58:18 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://www.springframework.org/tags/form is already defi
ned
log4j:WARN No appenders could be found for logger (org.codehaus.groovy.grails.co
mmons.cfg.ConfigurationHelper).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more in
fo.

Configuring Spring Security Core ...
... finished configuring Spring Security Core


Dec 22, 2014 3:58:55 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Tomcat7\apache-tomcat-7.0.57\webapp
s\docs
Dec 22, 2014 3:58:55 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory C:\Tomcat7\apache-tomcat-7.0.57\we
bapps\docs has finished in 30 ms
Dec 22, 2014 3:58:55 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Tomcat7\apache-tomcat-7.0.57\webapp
s\examples
Dec 22, 2014 3:58:56 PM org.apache.tomcat.util.digester.Digester startElement
SEVERE: Begin event threw error
java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at org.apache.catalina.deploy.SecurityConstraint.<init>(SecurityConstrai
nt.java:94)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at java.lang.Class.newInstance(Class.java:379)
        at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRu
le.java:145)
        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1
288)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startEle
ment(AbstractSAXParser.java:509)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(X
MLDocumentScannerImpl.java:606)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:848)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:777)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
java:141)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Ab
stractSAXParser.java:1213)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.p
arse(SAXParserImpl.java:648)
        at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
        at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.j
ava:1825)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.jav
a:1263)

Dec 22, 2014 3:58:57 PM org.apache.catalina.startup.HostConfig deployDirectories

SEVERE: Error waiting for multi-thread deployment of directories to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen spa
ce
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:188)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:1148)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1611)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:330)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase
.java:402)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:34
7)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
va:1140)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java
:816)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1575)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1565)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.OutOfMemoryError: PermGen space
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Ab
stractSAXParser.java:1213)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.p
arse(SAXParserImpl.java:648)
        at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
        at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.j
ava:1825)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.jav
a:1263)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfi
g.java:889)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
g.java:386)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:5380)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
7)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)

        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
a:1245)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig
.java:1895)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
1)
        ... 4 more

Dec 22, 2014 3:58:57 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Tomcat7\apache-tomcat-7.0.57\webapp
s\host-manager
Dec 22, 2014 3:59:19 PM org.apache.catalina.startup.HostConfig deployDirectories

SEVERE: Error waiting for multi-thread deployment of directories to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen spa
ce
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:188)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:1148)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1611)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:330)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase
.java:402)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:34
7)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
va:1140)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java
:816)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1575)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1565)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.OutOfMemoryError: PermGen space

Dec 22, 2014 3:59:19 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Tomcat7\apache-tomcat-7.0.57\webapp
s\manager
Dec 22, 2014 3:59:20 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Tomcat7\apache-tomcat-7.0.57\webapp
s\ROOT
Dec 22, 2014 3:59:20 PM org.apache.catalina.startup.HostConfig deployDirectories

SEVERE: Error waiting for multi-thread deployment of directories to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen spa
ce
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:188)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:1148)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1611)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:330)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase
.java:402)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:34
7)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
va:1140)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java
:816)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1575)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1565)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.OutOfMemoryError: PermGen space

Exception in thread "quartzScheduler_QuartzSchedulerThread" Dec 22, 2014 3:59:21
 PM org.apache.catalina.startup.HostConfig deployDirectories
SEVERE: Error waiting for multi-thread deployment of directories to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen spa
ce
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:188)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:1148)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1611)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:330)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase
.java:402)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:34
7)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
va:1140)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java
:816)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1575)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1565)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.OutOfMemoryError: PermGen space


Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i
n thread "quartzScheduler_QuartzSchedulerThread"
Exception in thread "main"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i
n thread "main"
INFO:部署web应用程序存档C:\Tomcat7\apache-tomcat-7.0.57\webapps\
我的-1.0.2.战争
2014年12月22日下午3:58:17 org.apache.catalina.startup.TaglibUriRule body
信息:TLD已跳过。URI:http://java.sun.com/jsp/jstl/core 已定义
2014年12月22日下午3:58:17 org.apache.catalina.startup.TaglibUriRule body
信息:TLD已跳过。URI:http://java.sun.com/jsp/jstl/fmt 已定义
2014年12月22日下午3:58:18 org.apache.catalina.startup.TaglibUriRule body
信息:TLD已跳过。URI:http://www.springframework.org/tags 已定义
2014年12月22日下午3:58:18 org.apache.catalina.startup.TaglibUriRule body
信息:TLD已跳过。URI:http://www.springframework.org/tags/form 已经被定义了
内德
log4j:WARN找不到记录器的追加器(org.codehaus.groovy.grails.co
mmons.cfg.ConfigurationHelper)。
log4j:警告请正确初始化log4j系统。
log4j:请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig 更多关于
法罗群岛。
正在配置Spring安全核心。。。
... 已完成配置Spring安全内核
2014年12月22日下午3:58:55 org.apache.catalina.startup.HostConfig部署目录
信息:部署web应用程序目录C:\Tomcat7\apache-tomcat-7.0.57\webapp
s\docs
2014年12月22日下午3:58:55 org.apache.catalina.startup.HostConfig部署目录
信息:部署web应用程序目录C:\Tomcat7\apache-tomcat-7.0.57\we
bapps\docs已在30毫秒内完成
2014年12月22日下午3:58:55 org.apache.catalina.startup.HostConfig部署目录
信息:部署web应用程序目录C:\Tomcat7\apache-tomcat-7.0.57\webapp
s\示例
2014年12月22日下午3:58:56 org.apache.tomcat.util.digester.digester startElement
严重:开始事件引发错误
java.lang.OutOfMemoryError:PermGen空间
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.defineClass(ClassLoader.java:800)
位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
位于java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
在java.net.URLClassLoader.access$100(URLClassLoader.java:71)
在java.net.URLClassLoader$1.run(URLClassLoader.java:361)
在java.net.URLClassLoader$1.run(URLClassLoader.java:355)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:354)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:425)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:358)
在org.apache.catalina.deploy.SecurityConstraint上
nt.java:94)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:57)
在sun.reflect.delegatingConstructor或AccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:526)
位于java.lang.Class.newInstance(Class.java:379)
位于org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRu
le.java:145)
位于org.apache.tomcat.util.digester.digester.startElement(digester.java:1
288)
在com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startEle
ment(AbstractSAXParser.java:509)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp上
l、 scanStartElement(XMLDocumentFragmentScannerImpl.java:1363)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp上
l$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(X
MLDocumentScannerImpl.java:606)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp上
l、 ScandDocument(XMLDocumentFragmentScannerImpl.java:510)
在com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:848)
在com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:777)
在com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser。
爪哇:141)
在com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Ab
stractSAXParser.java:1213)
在com.sun.org.apache.xerces.internal.jaxp.saxpasserimpl$jaxpsaxpasser.p
arse(SAXParserImpl.java:648)
位于org.apache.tomcat.util.digester.digester.parse(digester.java:1561)
位于org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.j
艾娃:1825)
位于org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.jav
a:1263)
2014年12月22日下午3:58:57 org.apache.catalina.startup.HostConfig部署目录
严重:等待目录的多线程部署完成时出错
java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:PermGen spa
总工程师
位于java.util.concurrent.FutureTask.report(FutureTask.java:122)
位于java.util.concurrent.FutureTask.get(FutureTask.java:188)
在org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:1148)
位于org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490
)
位于org.apache.catalina.startup.HostConfig.start(HostConfig.java:1611)
位于org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:330)
在org.apache.catalina.util.LifecyclesSupport.fireLifecycleEvent(生命周期
eSupport.java:117)
在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(Lifec
export CATALINA_OPTS="-Xms256m -Xmx768m -XX:MaxPermSize=256m"