James,

On 7/23/24 16:54, James H. H. Lampert wrote:
On 7/23/24 1:25 PM, Christopher Schultz wrote:
Thomas,

Uh, "James." Thomas was someone who answered earlier.

:|

2. What has to fit into that 7GiB private memory pool? Does it include any OS, or is it just the JVM itself?

On an IBM Midrange box, a private memory pool simply provides jobs in a given subsystem with memory that's off-limits to jobs outside that subsystem. If the subsystem description's memory pool usage is set up correctly, it will grab memory from its private pool whenever possible, before going to the public "base" memory pool on the system. This reduces the number of page faults.

Okay.

So what jobs are in the subsystem? You said "the Catalina job and its associated JVM job" but to me those are just a single job/process. Are they separate things in the IBM world?

And based on the back-end server jobs, there are, at last count, 58 users currently signed on, each one with a dedicated connection to a back-end server job. (The webapp is itself a client to a back-end server that was originally designed for a desktop Java client.)

That doesn't sound like a lot of users. Will it grow and ultimately fail with zero users? How about just one? If you really load it down, will it fail faster?

Do you have any kind of memory monitoring of the JVM process going on, or do you just have the heap-dump-on-oome configured?

The heap dump will tell your developers A LOT. Any decent heap-dump analyzer will be able to tell you what's taking up all the memory pretty quickly. Any time I've ever helped anyone look at a Java heap problem, one of the following checks always points directly to the problem:

1. One object (and tree of references) that is particularly large.
or
2. One kind of object for which there are a HUGE number of instances.

Sometimes there is a lot of overlap between these two.

When you load the heap dump, you'll notice that there are a huge number of char[], byte[], and String instances. Don't panic (yet). That's totally normal.

Even VisualVM can read heap dumps and give you some good information. Try looking for "Dominators".

-chris

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

Reply via email to