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

Reply via email to