Return-Path: Delivered-To: apmail-jakarta-tomcat-user-archive@www.apache.org Received: (qmail 59887 invoked from network); 21 Dec 2004 14:57:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 21 Dec 2004 14:57:13 -0000 Received: (qmail 79070 invoked by uid 500); 21 Dec 2004 14:55:29 -0000 Delivered-To: apmail-jakarta-tomcat-user-archive@jakarta.apache.org Received: (qmail 79052 invoked by uid 500); 21 Dec 2004 14:55:29 -0000 Mailing-List: contact tomcat-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Users List" Reply-To: "Tomcat Users List" Delivered-To: mailing list tomcat-user@jakarta.apache.org Received: (qmail 78901 invoked by uid 99); 21 Dec 2004 14:55:27 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (hermes.apache.org: local policy) Received: from relais.videotron.ca (HELO relais.videotron.ca) (24.201.245.36) by apache.org (qpsmtpd/0.28) with ESMTP; Tue, 21 Dec 2004 06:55:24 -0800 Received: from beetext02 ([66.130.137.101]) by VL-MO-MR001.ip.videotron.ca (iPlanet Messaging Server 5.2 HotFix 1.21 (built Sep 8 2003)) with SMTP id <0I9200GURUORLU@VL-MO-MR001.ip.videotron.ca> for tomcat-user@jakarta.apache.org; Tue, 21 Dec 2004 09:53:15 -0500 (EST) Date: Tue, 21 Dec 2004 09:53:22 -0500 From: Philippe Deslauriers Subject: Why is tomcat (java) so memory intensive? To: tomcat-user@jakarta.apache.org Message-id: MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 7BIT Importance: Normal X-Priority: 3 (Normal) X-MSMail-priority: Normal X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N I am using Tomcat 5.0.19 on Windows XP SP2, J2SDK 1.4.2_03. I have a serious memory problem with Tomcat, it just EAT memory without explanation, until OOM error occurs. The Java.exe process in the windows task manager reports using between 95Mb and 105Mb after the startup of the webapp. I do not use Xms Xmx options in dev mode. It just grows until it runs out of memory. There is not much memory available (around 150Mb), yet it should be enough for a few classes, JSP and almost not data in the database. Like a big boy, I decided to use Jprofiler demo to figure out where the memory leak was, to see that there is only 20 Mb allocated by the VM!!! So where does the rest of the memory goes? I do not use any non-java library (dll), I don't think I'm doing anything special. The app use a the Versant JDO implementation (instead of direct JDBC) using MS SQL server. But hey, the app is still in dev mode, with only the developpers using it, the DB is (almost) empty, so the amount data is not in cause. Anyways using 20Mb of heap is very reasonable (there will be at least 1gb available in production), but why is the java.exe process eating memory like a pig an the profiler is not showing where the mem goes? (by the way, I did deleted ALL the filters from Jprofiler). If the app would take 2Gb in memory I would not care, as long as I know what is using the memory. I did profile an app running on 5.0.18, and the same magic happens, the memory used by the java.exe is far from close to what the total heap size of the VM reports to be. Am I going crazy? Any ideas? Thanks Filip:) --------------------------------------------------------------------- To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org For additional commands, e-mail: tomcat-user-help@jakarta.apache.org