2011-07-10 22 views
0

私はUbuntuでTomcat Web Server(7.0)を実行しています。私はローカルのWindowsマシンでJava 1.6を使用して同じWarファイルを持っていますが、私は何の問題も全くありません。しかし、Linuxマシンでは、Tomcatがしばらくして失敗したり、動作が停止したりして、Java GCの例外が発生します。これは、これらのエラーで始まる:Tomcat Java GC問題Linux

Jul 10, 2011 4:29:05 PM org.apache.catalina.startup.HostConfig checkResources INFO: Undeploying context [/manager] Jul 10, 2011 4:29:05 PM org.apache.catalina.session.StandardManager doUnload SEVERE: IOException while saving persisted sessions: java.io.FileNotFoundException: /home/infocomm/tomcat/work/Catalina/localhost/manager/SESSIONS.ser (No such file or directory) java.io.FileNotFoundException: /home/infocomm/tomcat/work/Catalina/localhost/manager/SESSIONS.ser (No such file or directory)

そして、これらのエラーを:

Jul 10, 2011 4:29:05 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 
WARNING: JDBC driver de-registration failed for web application [/manager] 
java.lang.NullPointerException 
    at org.apache.catalina.loader.WebappClassLoader.clearReferencesJdbc(WebappClassLoader.java:2012) 
    at org.apache.catalina.loader.WebappClassLoader.clearReferences(WebappClassLoader.java:1948) 
    at org.apache.catalina.loader.WebappClassLoader.stop(WebappClassLoader.java:1860) 
    at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:659) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:216) 
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5032) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:216) 
    at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:952) 
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1199) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1360) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:290) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) 
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1228) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1384) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1394) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1373) 
    at java.lang.Thread.run(Thread.java:619) 
Jul 10, 2011 4:29:05 PM org.apache.catalina.util.LifecycleBase destroy 
INFO: The destroy() method was called on component [StandardContext[/manager]] after destroy() had already been called. The second call will be ignored. 
Jul 10, 2011 4:29:05 PM org.apache.catalina.startup.HostConfig checkResources 
INFO: Undeploying context [] 
Jul 10, 2011 4:29:05 PM org.apache.catalina.session.StandardManager doUnload 

はその後、最後にTomcatは、これらのエラーで応答を停止:

Jul 10, 2011 5:07:44 PM org.apache.catalina.util.LifecycleBase destroy 
INFO: The destroy() method was called on component [StandardContext[/host-manager]] after destroy() had already been called. The second call will be ignored. 
Jul 10, 2011 6:31:44 PM org.apache.catalina.startup.HostConfig deployDescriptor 
INFO: Deploying configuration descriptor rcbp.xml from /home/infocomm/tomcat/conf/Catalina/localhost 
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: PermGen space 

は、任意の助けをいただければ幸いです。 これは、Tomcatアプリケーションを起動したリモートシェルを終了した後にのみ発生します。

答えて

2

は(特定のユーザーアカウントで実行されている)Tomcatがこのファイルへのアクセス権を持っているし、それは、十分な権限を作成してもらう更新する必要があります&ファイルを削除します。

/home/infocomm/tomcat/work/Catalina/localhost/manager/SESSIONS.serウィンドウで

そのあなたが非特権ユーザとしてTomcatを開始していない限り、このシナリオが表面化するのは非常にまれ。

+0

はい、それにはその特権があります。私は、Tomcatを実行しようとしたリモートシェルを終了するときにのみこれが起こることに気付きました。コマンドnohup bin/startup.sh> console.log 2> console.err Abhishek

+0

を使用して実行しようとしています。コマンドに 'nohup'は必要ありませんか? – Mikaveli