tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Crowther <Peter.Crowt...@melandra.com>
Subject RE: Java VM slowly eats all memory up - without JVM heap OutOfMemory failures!
Date Tue, 22 Apr 2008 08:25:03 GMT
> From: Stephanie Wullbieter [mailto:swullb@gmx.de]
> a tomcat machine has a problem because java eats the memory
> up. Here some data:
>
> 1.555.828 KiB host RAM
>
> java version "1.4.2_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
> Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
>
> Tomcat Version 4.1.31
[...]
> The Java VM has no OutOfMemory failures, the JVM usage is
> about 600 MiB, and does not go over 700 MiB (768 MiB JVM Heap).
> So it looks like Java VM is using about 700 MiB for itself.
> Is that normal?

Sounds like your application is not correctly releasing some operating system resource, so
the JVM is keeping hold of the resource.  This would cause memory to be reserved outside the
Java heap but inside the process.  Good candidates are: files, threads (which have both a
Java stack and a host stack, and it might be the host stack not being released), almost anything
JNI.  I've no doubt there are other possibilities as well!

Can you monitor the system calls made by the application over a period of time, looking for
systematic mismatches between resources that are opened and resources that are closed?  I'm
not sure which variant of UNIX you're running, but most have some way of monitoring a process'
system calls.  If you have the /proc filesystem on your system, looking through /proc for
your process may also help.

                - Peter

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


Mime
View raw message