Hi all.
I have about 8 or 9 JSPUI dspace installations in a server which has 3
GB of RAM. Four of them are active and the other ones are smaller
projects that mostly don't get used. After our last install, 1.6.2
JSPUI, which is an image repository, I started getting tomcat hangs
almost hourly, or at least a few times a day, and a restart is
required. Sometimes even not related to the usage of that repository
but when another one is used (perfectly working before). I was
wondering if this new image repository, precisely because it hosts
images, thumbnails, etc, may be hogging the resources. The strange
thing is that the hangs sometimes happen even when another repo is
being used. Some hangs are "PermGen" but others just don't output
anything in the logs.
Also, I sometimes leave "parallel" webapps in the tomcat deploy dir,
which are copies of a webapp with some new modification I want to try.
And sometimes I leave a few directories like that in there. Sort of a
primitive version control system :). I was wondering if maybe tomcat
tends to try to deploy everything it sees in the deploy directory, and
maybe those parallel webapps are contributing to the hangs. I removed
them all and things seem to have improved some, but this is not
definitive. Is this possible? Does it make sense?
Another important part of this problem is that I can't seem to assign
specific memory parameters to tomcat. I've read the Performance Tuning
tips
https://wiki.duraspace.org/display/DSDOC18/Performance+Tuning+DSpace
and I see that the variable to modify is CATALINA_OPS, but they don't
say in what file. I guess it depends on the operating system. I'm on
Debian. I tried adding something like
CATALINA_OPTS="-Xms1025m -Xmx1024m -XX:PermSize=1024m
-XX:MaxPermSize=2048m -XX:+DisableExplicitGC XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled"
in
[tomcat]/bin/catalina.sh
[tomcat]/bin/setenv.sh
[tomcat]/bin/startup.sh
and inside
/etc/init.d/tomcat
but none seems to work.
When I run
ps aux | grep tomcat
I don't see the new parameters added.
How could I make this work?
Lastly, here's a stacktrace from the most common error I get (although
this doesn't hang tomcat)
19-mar-2012 1:13:57 org.apache.catalina.core.StandardHostValve custom
GRAVE: Exception Processing
ErrorPage[exceptionType=java.lang.Exception, location=/internal-error]
java.lang.IllegalStateException
at org.apache.coyote.Response.reset(Response.java:297)
at org.apache.catalina.connector.Response.reset(Response.java:653)
at org.apache.catalina.connector.Response.reset(Response.java:920)
at
org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:357)
at
org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:213)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:662)
--
-------------------------------------------------------------------------------
Martín Musacchio
Centro de Telemática - UNL
Pje. Martinez 2652 - S3002AAB Santa Fe - Argentina
tel
+54(342)455-4245 - FAX
+54(342)457-1240