And don't forget to set the proper permissions on the script, the tomcat or jetty user.
Markus On Tuesday 14 October 2014 13:47:47 Boogie Shafer wrote: > a really simple approach is to have the OOM generate an email > > e.g. > > 1) create a simple script (call it java_oom.sh) and drop it in your tomcat > bin dir > > > echo `date` | mail -s "Java Error: OutOfMemory - $HOSTNAME" > not...@domain.com > > > 2) configure your java options (in setenv.sh or similar) to trigger heap > dump and the email script when OOM occurs > > # config error behaviors > CATALINA_OPTS="$CATALINA_OPTS -XX:+HeapDumpOnOutOfMemoryError > -XX:HeapDumpPath=$TOMCAT_DIR/temp/tomcat-dump.hprof > -XX:OnError=$TOMCAT_DIR/bin/java_error.sh > -XX:OnOutOfMemoryError=$TOMCAT_DIR/bin/java_oom.sh > -XX:ErrorFile=$TOMCAT_DIR/temp/java_error%p.log" > > > > ________________________________________ > From: Mark Miller <markrmil...@gmail.com> > Sent: Tuesday, October 14, 2014 06:30 > To: solr-user@lucene.apache.org > Subject: Re: Recovering from Out of Mem > > Best is to pass the Java cmd line option that kills the process on OOM and > setup a supervisor on the process to restart it. You need a somewhat > recent release for this to work properly though. > > - Mark > > > On Oct 14, 2014, at 9:06 AM, Salman Akram > > <salman.ak...@northbaysolutions.net> wrote: > > > > I know there are some suggestions to avoid OOM issue e.g. setting > > appropriate Max Heap size etc. However, what's the best way to recover > > from > > it as it goes into non-responding state? We are using Tomcat on back end. > > > > The scenario is that once we face OOM issue it keeps on taking queries > > (doesn't give any error) but they just time out. So even though we have a > > fail over system implemented but we don't have a way to distinguish if > > these are real time out queries OR due to OOM. > > > > -- > > Regards, > > > > Salman Akram