You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Sa...@emc.com on 2012/04/12 12:05:44 UTC

Increase in Virt Memory and RSS memory - Tomcat 6.0.x

Hi,

We are observing an increase in VIRT and RES memory of tomcat6.0  which internally invokes our custom API is invoked (This API internally does an JNI call).
The same API code when invoked through a standalone java process repeatedly does not lead to an increase in the VIRT /RES memory.

Is there any way this could be debugged further? Any hints would be really helpful.

Please find the details of my test below.

SETUP:
======
TOMCAT Version: tomcat6-6.0.35-1
OS: SUSE Linux Enterprise Server 11 (x86_64)
JAVA: 1.6 (Max Heap memory for tomcat/standalone java proc 512MB)

Tomcat Memory Growth: (We repeatedly invoked the servlet using a GET request)
=====================
PID      USER      PR  NI  VIRT    RES     SHR S  %CPU    %MEM    TIME+  COMMAND
26807 tomcat    20   0 1137m 156m  20m S    0          2.0           0:11.48 java --                12:00PM April 10th
26807 tomcat    20   0 1316m 340m  22m S  171       4.3           5:10.71 java ---               12:31 PM April 10th
26807 tomcat    20   0 1862m 945m  20m S  167      11.8         54:04.52 java ---             1:00PM April 10th.
26807 tomcat    20   0 2076m 1.1g    20m S  171      13.7          65:54.73 java ---            1:07PM April 10th
26807 tomcat    20   0 2823m 1.8g    20m S  154      22.8          159:27.60 java --            2:14PM April 10th
26807 tomcat    20   0 3296m 2.4g    13m S  173    30.4          217:13.22 java ---           2:49PM April 10th

Standalone Java Process (This repeated invokes our API)
=======================
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
19585 root      20   0 11444 1516 1220 S    0  0.0   0:00.00 testClient -- at 2.36pm April 10th
19585 root      20   0 11444 1516 1220 S    0  0.0   0:00.00 testClient -- at 2.48 pm April 10th
19585 root      20   0 11444 1516 1220 S    0  0.0   0:00.00 testClient - at 2.55 pm April 10th
19585 root      20   0 11444 1516 1220 S    0  0.0   0:00.00 testClient - at 3:15 PM April 10th
19585 root      20   0 11444 1484 1188 S    0  0.0   0:00.00 testClient -- at 3.29 April 10th
Note: In the Standalone Java Process we also tried to repeatedly invoked the API by creating new threads and every time. This too did not result in a VIRT/RES memory growth....


Please let me know if any additional details are required ...

Thanks & Regards,
Sandeep



Re: Increase in Virt Memory and RSS memory - Tomcat 6.0.x

Posted by Konstantin Kolinko <kn...@gmail.com>.
2012/4/12  <Sa...@emc.com>:
> Hi,
>
> We are observing an increase in VIRT and RES memory of tomcat6.0  which internally invokes our custom API is invoked (This API internally does an JNI call).
> The same API code when invoked through a standalone java process repeatedly does not lead to an increase in the VIRT /RES memory.
>
> Is there any way this could be debugged further? Any hints would be really helpful.
>

1. Treat Tomcat itself as a standalone application. Take a memory dump
and load it into Profiler (e.g. Eclipse MAT) to see where the memory
really goes.

2. The usual pitfall with "repeatedly invoked the servlet using a GET
request" tests is that such clients usually ignore sessionid provided
by Tomcat. Thus the count of active sessions grows rapidly.

(That is if your servlet uses a session.  This is more usual for JSP
pages where sessions are enabled by default and people forget to add
<%@page session="false"%>).

Best regards,
Konstantin Kolinko

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