tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeffrey Janner <Jeffrey.Jan...@PolyDyne.com>
Subject RE: Java.lang.out.of.memory not clearly....
Date Mon, 30 Jan 2012 15:14:11 GMT
See below....

> -----Original Message-----
> From: Pid [mailto:pid@pidster.com]
> Sent: Friday, January 27, 2012 2:41 PM
> To: Tomcat Users List
> Subject: Re: Java.lang.out.of.memory not clearly....
> 
> On 27/01/2012 18:39, Luciano Andress Martini wrote:
> > i dont know how to increase the heap space is using the parameter -
> Xmx?
> >
> >
> > 2012/1/27, Pid <pid@pidster.com>:
> >> On 27/01/2012 17:54, Luciano Andress Martini wrote:
> >>> -Xmx512m -Xmx1024 ?
> >>
> >> Please post your replies below the questions I asked.
> >>
> >> Someone reading this thread would see the first bit of this message
> >> and wonder what it referred to.
> >>
> >>
> >> p
> >>
> >>> 2012/1/27, Luciano Andress Martini <777user@gmail.com>:
> >>>> its 64 bits? How can i increase the object heap?
> >>>>
> >>>>
> >>>>
> >>>> 2012/1/27, Pid <pid@pidster.com>:
> >>>>> On 27/01/2012 16:29, Luciano Andress Martini wrote:
> >>>>>> I need to know if the error is from my part (server
> >>>>>> administrator), from the developer or from the hardware/vms.
> Some
> >>>>>> times that occurs when processing two milion of registry (i
am
> >>>>>> talking from expressocard a company of credit cards).
> >>>>>>
> >>>>>> Its a rarely error because this processing occurs rarely.
> >>>>>>
> >>>>>> in fact, mysql in the another server with 12 processors, still
> >>>>>> running, and tomcat in a virtual machine called adm (in another
> >>>>>> physical machine, with 4 processors) still running.
> >>>>>>
> >>>>>> So, this errors occurs like that:
> >>>>>>
> >>>>>> 1- Tomcat started
> >>>>>> 2- This processing is realized ok in the first time
> >>>>>> 3- Tomcat stable in the users acess.
> >>>>>> 4- The processing is realized again, some days later, inn 98%
of
> >>>>>> processing servers crashes, but mysql is still running.
> >>>>>> 5- Restar of tomcat service tomcat6 restart
> >>>>>> 6- the processing started again, and server can done the
> processing.
> >>>>>>
> >>>>>> In the moment of the crash:
> >>>>>> jstat -class
> >>>>>> Loaded  Bytes  Unloaded  Bytes     Time
> >>>>>>
> >>>>>>  15007 32265.0      300   505.9      12.11
> >>>>>
> >>>>> So permgen is using 32Mb
> >>>>>
> >>>>>> Java using: 914mb
> >>>>>> Free memory on the virtual machine server: 2152
> >>>>>>
> >>>>>> Java says:
> >>>>>> java.util.concurrent.ExecutionException:
> java.lang.OutOfMemoryError:
[.....]
> >>>>>> java.lang.OutOfMemoryError: Java heap space
> >>>>>>
> >>>>>> Java options (that i configurate) -Djava.awt.headless=true
> >>>>>> -Xmx512m -XX:MaxPermSize=3512M
> >>>>>
> >>>>> Cripes!  3.5Gb of PermGen space?!  I really doubt you want that.
> >>>>>
> >>>>> So your JVM is using 900Mb, your object heap is 512Mb.
> >>>>>
> >>>>> If you have more memory available, why not assign more to the
> heap?
> >>>>> How much memory is available?
> >>>>>
> >>>>> Are you using 32bit or 64bit?
> >>>>>
> >>>>>
> >>>>> p
> >>>>>
> >>>>>> -XX:+CMSIncrementalMode
> >>>>>> -XX:+UseConcMarkSweepGC
> >>>>>> -XX:+CMSClassUnloadingEnabled
> >>>>>> -XX:ParallelGCThreads=4
> >>>>>> -XX:+UseParNewGC
> >>>>>>
> >>>>>> ----------------------------------------------------------------
> 
> (What part of 'below' wasn't clear to you?)
> 
> 
> You are setting -XX:MaxPermSize=3512M - it's too high.
> 
> 'jmap -heap' will tell you how much PermGen you're actually using, try
> setting -XX:MaxPermSize=64M or whatever is appropriate.
> 
> You still haven't said how much RAM you actually have available, so I
> will assume you have 1 Tomcat running on a server with 4Gb of RAM.
> 
> You can set -Xmx=1024M to set the heap size to 1Gb.
> 
> 
> p
> 

However, if I read Luciano's initial problem report correctly, it's quite likely he'll still
see the same problem but a few days later. I will try to paraphrase his description:

1) He processes a large batch of transactions -- all OK
2) Other work gets done by Tomcat
3) A few days later, he processes another large batch of transactions, but gets OOM.
4) He restarts Tomcat and it processes the second batch just fine, but fails on next load.

That sounds to me like your standard memory leak, most likely in his application.
Doubling the memory will certainly help, but most likely will only delay the issue. I expect
that his Tomcat will probably see another OOM sometime between the 3rd and 5th processing
cycles.

Luciano, I would not call this resolved unless you do not see the OOM again within another
12 or so batch runs.  It could be that your original heap size was just too small to accommodate
your load, and was only noticeable with other work being done when the big job came along.
 Or it could be you have a memory leak in this, or another, process.

Jeff
__________________________________________________________________________

Confidentiality Notice:  This Transmission (including any attachments) may contain information
that is privileged, confidential, and exempt from disclosure under applicable law.  If the
reader of this message is not the intended recipient you are hereby notified that any dissemination,
distribution, or copying of this communication is strictly prohibited.  

If you have received this transmission in error, please immediately reply to the sender or
telephone (512) 343-9100 and delete this transmission from your system.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message