Howdy,

>       Some additional information that may help is we were looking at
>memory allocated by the JVM and not through a profiler of any kind. We
were
>runningour software on a Linux box and used the 'top' command to
monitor >the amount of memory that java had allocated for its use.
>       In both cases we ran java.exe with out any memory parameters.
Running
>with
>no logging code we (in a short period of time) used 100mb of memory and
>reached a steady state. With the log4j code inserted (though disabled
by
>the log4j properties file) we quickly achieved over 1 gig of memory
>allocated to the java process before reaching a steady state.

You are drastically misinterpreting some things.

Java without a memory argument, e.g. -Xmx, will allocate up to 64MB of
RAM to the heap in total.  After that, you will get OutOfMemoryErrors.

On linux, the top command (as well as vmstat and some others) are
misleading with respect to Java memory usage.  Each JVM thread shows as
a separate process using the same amount of memory, but really the
amount shown is more or less the total across all threads.  For example,
if top shows 20 threads using 30MB of RAM each, you really have a 30MB
heap being shared by all 20 threads.

There has been extensive discussion about this on the tomcat mailing
list.  You may wish to search its archives.

I hope this helps,

Yoav Shapira
Millennium ChemInformatics

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to