Memory Accounting, JDKs [was: Re: [Techtalk] Java on Linux]

Nicole Zimmerman colby at wsu.edu
Thu Jan 10 17:27:03 EST 2002


At 16:56 on Jan 10, Kathryn Hogg combined all the right letters to say:

> Each thread looks like a separate process on Linux.

Yup. I figured this out :o)

> Have you tried analyzing how memory a do-nothing java app takes up to get a
> baseline of the JVM footprint?

Not yet. This would be useful reference information, though... maybe I'll
investigate that one as a good baseline.

> They are probably are reporting some shared statistics since they are
> running in the same address space.  Differences are probably related the
> high water mark in each threads stack or something similar.

I'll pass this information on. I figured as much on the sharing stuff, but
I couldn't tell you why that happens (I really don't know the internals
of Java).

> start with none of those running an take a look at your system level amount
> of free virtual memory.  Start up one component, run it through some paces,
> and see how your memory utilization drops. The difference between the  two
> is a rough idea of how much memory it is using.  Repeat for the other two
> components.

The problem is that we need to know on the fly... to be able to track down
what causes rogue memory usage if it happens. Every time I tell someone I
am using 236M of memory, they freak out and say "that's not right!" but we
can never figure out exactly why. We want to be able to see on the fly
"oh, you have 30 online connections, that explains why it happens" (when
at noon I have more memory usage) or "hey wait, you only had 5 online
connections, why is your memory usage higher?" (at midnight when things go
crazy).

I have a script that's run every 4 hours on a cron job which grabs a bunch
of relevant stats and puts them into a text file. 

-nicole




More information about the Techtalk mailing list