tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeffrey Janner <Jeffrey.Jan...@PolyDyne.com>
Subject Tomcat and Window nonpaged pool
Date Thu, 04 Apr 2013 15:03:31 GMT
Tomcat 6.0.x (unsure but 33+)  with Java 1.6 and Windows 2008 Server.

I've got a customer who is monitoring his system using the Windows Performance Monitor and
is concerned about Tomcat usage of the nonpaged pool.  When monitoring just the Tomcat service,
it shows the line for the pool to slowly rise over time, with hardly ever a drop that cannot
be attributed to a restart of the service (I think).
I know that the nonpaged pool contains structures that should not be paged out by Windows
per this quote:
  "Nonpaged pool is therefore always kept present in physical memory and nonpaged pool virtual
memory is assigned physical memory. Common system data structures stored in nonpaged pool
include the kernel and objects that represent processes and threads, synchronization objects
like mutexes, semaphores and events, references to files, which are represented as file objects,
and I/O request packets (IRPs), which represent I/O operations."

I am struggling with how this relates to internal workings of Tomcat & Java.  Obviously,
as more processing threads, in this case connectors not executors, are opened, I would expect
to see a rise in this pool to support all the items it uses.  I would expect to see a drop
as usage dropped and connectors were returned (or are they permanent at 6). Also, I assume
processing threads for the Oracle connection pool will cause this to increase as well, and
should drop as the pool size drop back to normal.  Any app-based threads would also cause
a rise, but should drop if the thread is properly terminated.

I guess that this shows a potential memory leak somewhere, I'm just wondering if there are
other things I should look at that could determine if this is normal behavior or indicative
of a real issue.

I do most of my Tomcat app monitoring using jconsole, jvisualvm, and the Oracle OEM for looking
for connection pool leaks there (not an easy task).

Any help is appreciated.

Jeff

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message