I found tomcat was being killed randomly by oom when it should have been the virus scanner stuff, I had to reduce the threads as it was consuming too much memory.
/etc/clamd.d/scan.conf #MaxThreads 20 MaxThreads 5 I found this by monitoring the output from 'top' command. Cheers Greg On 1 March 2018 at 11:10, Industrious <industrious.3...@gmail.com> wrote: > Dear All, > > In case it is a duplicate I am sorry I had to send this message again > because it seems it has not arrived to anybody and I have not got in > my inbox too though it appeared in online archives. > > I am running Tomcat 8 on Ubuntu. After a few days of running > successfully my Tomcat's JVM crashes or becomes absolutely > unresponsive because of OOME errors similar to this in catalina.out: > --- cut ------- > SEVERE:Memory usage is low, parachute is non existent, your system may > start failing. > java.lang.OutOfMemoryError: Java heap space > SEVERE:Memory usage is low, parachute is non existent, your system may > start failing. > java.lang.OutOfMemoryError: Java heap space > SEVERE:Memory usage is low, parachute is non existent, your system may > start failing. > java.lang.OutOfMemoryError: Java heap space > SEVERE:Memory usage is low, parachute is non existent, your system may > start failing. > java.lang.OutOfMemoryError: Java heap space > SEVERE:Memory usage is low, parachute is non existent, your system may > start failing. > java.lang.OutOfMemoryError: Java heap space > SEVERE:Memory usage is low, parachute is non existent, your system may > start failing. > java.lang.OutOfMemoryError: Java heap space: failed reallocation of > scalar replaced objects > > Exception: java.lang.OutOfMemoryError thrown from the > UncaughtExceptionHandler in thread "http-nio-80-exec-2" > --- cut ------- > > I was using a VM with 600MB of RAM. Soon I started having problems > when Linux was killing Tomcat (OOM killer) as it considered its JVM as > a candidate for killing or if I specify a lower maximum heap size I > would eventually get OOME from JVM. I moved to a VM with 1.7GB of RAM > but the problem still occurs eventually though a bit later than on the > 600MB VM because I somewhat increased the maximum heap size. > > It is strange because my webapp used to run fine on Openshift 512MB > memory VM though it was JRE 1.7 and Tomcat 7. I did not make any > considerable changes to server.xml (with the exception of those > necessary to use Tomcat 8) or app itself, I attach my server.xml too. > > I have read Tomcat's FAQ, Wiki pages and searched mailing lists but > nothing seems to fit my case. > > I would accept the fact that my application has a memory leak problem > but it is absolutely unclear from this picture that it has one. > > I have tried using Eclipse MAT to analyze memory dumps and to see what > might be causing this and it turned out that the majority of heap > > 75% is occupied by RequestInfo instances. I would be really grateful > if someone could tell me what might be happening there. > > Looking forward to your reply. > > Best regards, > Ivan > > ============================================================ > ================= > My current environment: > VM with 1 CPU which has 1.7GB RAM > > Tomcat 8.0.32 (8.0.32-1ubuntu1.5) on Ubuntu 16.04.1. > > $ java -version > openjdk version "1.8.0_151" > OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0. > 16.04.2-b12) > OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode) > > $ less /var/lib/tomcat8/bin/setenv.sh > JAVA_OPTS="-Dlog4j.logging.dir=$CATALINA_BASE/logs \ > -Dlogging.dir=$CATALINA_BASE/logs \ > -Djava.awt.headless=true \ > -Xms220M \ > -Xmx220M \ > -Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider \ > -Djava.security.egd=file:/dev/./urandom \ > -XX:+HeapDumpOnOutOfMemoryError \ > -XX:HeapDumpPath=$CATALINA_BASE/logs/java_pid%p.hprof" > > > Eclipse MAT report > ---------------------------------- > 1,121 instances of "org.apache.coyote.RequestInfo", loaded by > "java.net.URLClassLoader @ 0xf7202b18" occupy 170,358,720 (77.39%) > bytes. These instances are referenced from one instance of > "java.lang.Object[]", loaded by "<system class loader>" - 199MB out of > 209MB > > server.xml > ---------------------------------- > <?xml version='1.0' encoding='utf-8'?> > <Server port="8005" shutdown="SHUTDOWN"> > <Listener className="org.apache.catalina.startup.VersionLoggerListener" > /> > > <Listener className="org.apache.catalina.security.SecurityListener" > minimumUmask="" /> > <Listener className="org.apache.catalina.core.AprLifecycleListener" > SSLEngine="on" /> > <Listener className="org.apache.catalina.core. > JreMemoryLeakPreventionListener" > /> > <Listener className="org.apache.catalina.mbeans. > GlobalResourcesLifecycleListener" > /> > <Listener className="org.apache.catalina.core. > ThreadLocalLeakPreventionListener" > /> > > <Service name="Catalina"> > > <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" > maxThreads="20" minSpareThreads="4"/> > > <Connector port="80" protocol="HTTP/1.1" > connectionTimeout="3000" > redirectPort="443" executor="tomcatThreadPool" /> > > <Connector port="443" protocol="org.apache.coyote. > http11.Http11NioProtocol" > maxThreads="150" SSLEnabled="true" scheme="https" > secure="true" > clientAuth="false" sslProtocol="TLS" > executor="tomcatThreadPool" > KeystoreFile="***" KeystorePass="***"/> > > <Engine name="Catalina" defaultHost="localhost"> > > <Host name="localhost" appBase="webapps" > unpackWARs="true" autoDeploy="true"> > > <Valve className="org.apache.catalina.valves.RemoteIpValve" > protocolHeader="x-forwarded-proto" ></Valve> > > > <!-- Access log processes all example. > Documentation at: /docs/config/valve.html > Note: The pattern used is equivalent to using > pattern="common" --> > <Valve className="org.apache.catalina.valves.AccessLogValve" > directory="logs" > prefix="localhost_access_log." suffix=".log" > requestAttributesEnabled="true" > pattern="combined" /> > > </Host> > </Engine> > </Service> > </Server> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >