tools for Memory leaks

2005-02-08 Thread Mark
Hi,
I'm looking for a free tool to monitor my application on Tomcat
5.0.28? I don't see any changes in memory use on RH9 - but the load
is too low. What I'd like to test:
- high load
- potential memory leaks
- etc.

I'd rather to have a tool which have a minimum impact on performance,
but any tool will be fine for now.


Thank,
Mark.



__ 
Do you Yahoo!? 
All your favorites on one personal page – Try My Yahoo!
http://my.yahoo.com 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: [ANN] The Reference Scanner and Jakarta Tomcat - Heap Profiling, Memory Leaks

2004-05-12 Thread Shapira, Yoav

Hi,
Come on people.  Tomcat5 is built with MX4J because its license is now
OK (and I modified the NOTICE file that ships with tomcat5 accordingly).
If you want to recompile things to need to make sure your classpath is
setup accordingly: either figure it out from the tomcat build file or
nag Senor Baumgaertel to add instructions to his documents.  It's just
like the HttpScanner thing you mentioned: he didn't document the import
statement for that class, but it's fairly obvious.

Yoav Shapira
Millennium Research Informatics


-Original Message-
From: Joseph Shraibman [mailto:[EMAIL PROTECTED]
Sent: Wednesday, May 12, 2004 12:19 AM
To: Tomcat Users List
Subject: Re: [ANN] The Reference Scanner and Jakarta Tomcat - Heap
Profiling, Memory Leaks

Jacob Kjome wrote:
 At 11:47 PM 5/11/2004 -0400, you wrote:

 Joerg Baumgaertel wrote:

 Hi all,
 because often requested,
 I added a Jakarta-Tomcat-Howto to the 'jb2works.com' website.
 You find the following documents
 - How to scan a Java webapplication
   http://jb2works.com/refscan/tomcat.html
 - How to scan Jakarta-Tomcat full-space
   http://jb2works.com/refscan/tomcatfull.html


 I tried that, but when trying to run tomcat I got:

 Due to new licensing guidelines mandated by the Apache Software
 Foundation Board of Directors, a JMX implementation can no longer
 be distributed with the Apache Tomcat binaries. As a result, you
 must download a JMX 1.2 implementation (such as the Sun Reference
 Implementation) and copy the JAR containing the API and
 implementation of the JMX specification to:
 ${catalina.home}/bin/jmx.jar

 ...which confuses me, because jmx.jar is still where it always was.
 Using the bootstrap.jar that came with tomcat works fine.


 If you use the latest version of Tomcat5, you'll find that this is
not
 an issue.  Download Tomcat-5.0.24.  The implementation of JMX that
said
 version of Tomcat comes with is MX4J which is open source so there is
no
 problem anymore.

 Jake

I am using 5.0.24, and jmx.jar is there.  Tomcat works if I use the
Bootstrap.class that comes with it, but if I recompile Bootstrap.class
per the instructions on http://jb2works.com/refscan/tomcatfull.html it
suddenly gives me that error message.

I can post the jar file if you think that will help.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [ANN] The Reference Scanner and Jakarta Tomcat - Heap Profiling, Memory Leaks

2004-05-12 Thread Jacob Kjome
Quoting Joseph Shraibman [EMAIL PROTECTED]:

 Jacob Kjome wrote:
  At 11:47 PM 5/11/2004 -0400, you wrote:
 
  Joerg Baumgaertel wrote:
 
  Hi all,
  because often requested,
  I added a Jakarta-Tomcat-Howto to the 'jb2works.com' website.
  You find the following documents
  - How to scan a Java webapplication
http://jb2works.com/refscan/tomcat.html
  - How to scan Jakarta-Tomcat full-space
http://jb2works.com/refscan/tomcatfull.html
 
 
  I tried that, but when trying to run tomcat I got:
 
  Due to new licensing guidelines mandated by the Apache Software
  Foundation Board of Directors, a JMX implementation can no longer
  be distributed with the Apache Tomcat binaries. As a result, you
  must download a JMX 1.2 implementation (such as the Sun Reference
  Implementation) and copy the JAR containing the API and
  implementation of the JMX specification to:
  ${catalina.home}/bin/jmx.jar
 
  ...which confuses me, because jmx.jar is still where it always was.
  Using the bootstrap.jar that came with tomcat works fine.
 
 
  If you use the latest version of Tomcat5, you'll find that this is not
  an issue.  Download Tomcat-5.0.24.  The implementation of JMX that said
  version of Tomcat comes with is MX4J which is open source so there is no
  problem anymore.
 
  Jake
 
 I am using 5.0.24, and jmx.jar is there.  Tomcat works if I use the
 Bootstrap.class that comes with it, but if I recompile Bootstrap.class
 per the instructions on http://jb2works.com/refscan/tomcatfull.html it
 suddenly gives me that error message.
 
 I can post the jar file if you think that will help.
 

No, I can't help you with recompile questions.  I just know that previous
versions of Tomcat required you to provide the JMX jar since they had been
shipping the Sun implementation, and probably in violation of the license.  For
this reason, they removed jmx.jar, but they have added it back now that they use
the MX4J implementation.  I can't remember if this affected Tomcat-5.0.19 or
alpha releases in between 5.0.19 and 5.0.24.  All I can say is that, out of the
box, 5.0.24 should work just fine.

Jake

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [ANN] The Reference Scanner and Jakarta Tomcat - Heap Profiling, Memory Leaks

2004-05-11 Thread Joseph Shraibman
Joerg Baumgaertel wrote:
Hi all,

because often requested,
I added a Jakarta-Tomcat-Howto to the 'jb2works.com' website.
You find the following documents
- How to scan a Java webapplication
  http://jb2works.com/refscan/tomcat.html
- How to scan Jakarta-Tomcat full-space
  http://jb2works.com/refscan/tomcatfull.html
I tried that, but when trying to run tomcat I got:

Due to new licensing guidelines mandated by the Apache Software
Foundation Board of Directors, a JMX implementation can no longer
be distributed with the Apache Tomcat binaries. As a result, you
must download a JMX 1.2 implementation (such as the Sun Reference
Implementation) and copy the JAR containing the API and
implementation of the JMX specification to:
${catalina.home}/bin/jmx.jar
...which confuses me, because jmx.jar is still where it always was. 
Using the bootstrap.jar that came with tomcat works fine.

BTW in your instructions you say to add:

 HttpScanner.start( startupInstance );

... but what is really needed is:

com.jb2works.reference.HttpScanner.start( startupInstance ); // -- !!

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [ANN] The Reference Scanner and Jakarta Tomcat - Heap Profiling, Memory Leaks

2004-05-11 Thread Jacob Kjome
At 11:47 PM 5/11/2004 -0400, you wrote:
Joerg Baumgaertel wrote:
Hi all,
because often requested,
I added a Jakarta-Tomcat-Howto to the 'jb2works.com' website.
You find the following documents
- How to scan a Java webapplication
  http://jb2works.com/refscan/tomcat.html
- How to scan Jakarta-Tomcat full-space
  http://jb2works.com/refscan/tomcatfull.html
I tried that, but when trying to run tomcat I got:

Due to new licensing guidelines mandated by the Apache Software
Foundation Board of Directors, a JMX implementation can no longer
be distributed with the Apache Tomcat binaries. As a result, you
must download a JMX 1.2 implementation (such as the Sun Reference
Implementation) and copy the JAR containing the API and
implementation of the JMX specification to:
${catalina.home}/bin/jmx.jar
...which confuses me, because jmx.jar is still where it always was. Using 
the bootstrap.jar that came with tomcat works fine.
If you use the latest version of Tomcat5, you'll find that this is not an 
issue.  Download Tomcat-5.0.24.  The implementation of JMX that said 
version of Tomcat comes with is MX4J which is open source so there is no 
problem anymore.

Jake


BTW in your instructions you say to add:

 HttpScanner.start( startupInstance );

... but what is really needed is:

com.jb2works.reference.HttpScanner.start( startupInstance ); // -- !!

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [ANN] The Reference Scanner and Jakarta Tomcat - Heap Profiling, Memory Leaks

2004-05-11 Thread Joseph Shraibman
Jacob Kjome wrote:
At 11:47 PM 5/11/2004 -0400, you wrote:

Joerg Baumgaertel wrote:

Hi all,
because often requested,
I added a Jakarta-Tomcat-Howto to the 'jb2works.com' website.
You find the following documents
- How to scan a Java webapplication
  http://jb2works.com/refscan/tomcat.html
- How to scan Jakarta-Tomcat full-space
  http://jb2works.com/refscan/tomcatfull.html


I tried that, but when trying to run tomcat I got:

Due to new licensing guidelines mandated by the Apache Software
Foundation Board of Directors, a JMX implementation can no longer
be distributed with the Apache Tomcat binaries. As a result, you
must download a JMX 1.2 implementation (such as the Sun Reference
Implementation) and copy the JAR containing the API and
implementation of the JMX specification to:
${catalina.home}/bin/jmx.jar
...which confuses me, because jmx.jar is still where it always was. 
Using the bootstrap.jar that came with tomcat works fine.


If you use the latest version of Tomcat5, you'll find that this is not 
an issue.  Download Tomcat-5.0.24.  The implementation of JMX that said 
version of Tomcat comes with is MX4J which is open source so there is no 
problem anymore.

Jake
I am using 5.0.24, and jmx.jar is there.  Tomcat works if I use the
Bootstrap.class that comes with it, but if I recompile Bootstrap.class 
per the instructions on http://jb2works.com/refscan/tomcatfull.html it 
suddenly gives me that error message.

I can post the jar file if you think that will help.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


[ANN] The Reference Scanner and Jakarta Tomcat - Heap Profiling, Memory Leaks

2004-03-20 Thread Joerg Baumgaertel
Hi all,

because often requested,
I added a Jakarta-Tomcat-Howto to the 'jb2works.com' website.
You find the following documents
- How to scan a Java webapplication
  http://jb2works.com/refscan/tomcat.html
- How to scan Jakarta-Tomcat full-space
  http://jb2works.com/refscan/tomcatfull.html
About the Reference Scanner itself,

[From Announcement in c.l.j.p]

The Reference Scanner

Use this memory profiler .jar to inspect your running Java application
from your web browser. Get heap snapshots and snapshot diffs. Find
memory leaks. Analyze the reference graph for objects kept in memory.
Do simulate Cuts for found memory leaks.
Your application runs at normal speed. Does not require the JVM debug
mode. Low memory consumption.
The software is free downloadable. Only 810k .jar file.

usage
http://jb2works.com/refscan/usage.html
screenshots
http://jb2works.com/refscan/usage.html#heapprofile
feature matrix
http://jb2works.com/refscan/matrix.html
download
http://jb2works.com/refscan/status.html#status
faq
http://jb2works.com/refscan/faq.html
junit
http://jb2works.com/refscan/junit.html
I would like to see you enjoying this software!

Best regards,
Joerg Baumgaertel, jb2works.com 2004


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Best App for Finding Memory leaks in WebApps running on Tomcat

2004-03-16 Thread Robert Priest
Hello All,


Just wondering what you think is the best App for Finding Memory leaks in
WebApps running on Tomcat


Is Jprobe the consensus?

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Best App for Finding Memory leaks in WebApps running on Tomcat

2004-03-16 Thread Shapira, Yoav

Hi,

Just wondering what you think is the best App for Finding Memory leaks
in
WebApps running on Tomcat


Is Jprobe the consensus?

Far from it.  OptimizeIt and JProbe are probably the leaders among the
$$$ options with equal popularity.  I like OptimizeIt better but both
are good.

There are free alternatives as well, see
http://www.manageability.org/blog/stuff/open-source-profilers-for-java

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Best App for Finding Memory leaks in WebApps running on Tomca t

2004-03-16 Thread Robert Priest
Thanks Yoav,

So if price was not a consideration, which would you go with? 

-Original Message-
From: Shapira, Yoav [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 16, 2004 2:51 PM
To: Tomcat Users List
Subject: RE: Best App for Finding Memory leaks in WebApps running on Tomcat


Hi,

Just wondering what you think is the best App for Finding Memory leaks
in
WebApps running on Tomcat


Is Jprobe the consensus?

Far from it.  OptimizeIt and JProbe are probably the leaders among the $$$
options with equal popularity.  I like OptimizeIt better but both are good.

There are free alternatives as well, see
http://www.manageability.org/blog/stuff/open-source-profilers-for-java

Yoav Shapira



This e-mail, including any attachments, is a confidential business
communication, and may contain information that is confidential, proprietary
and/or privileged.  This e-mail is intended only for the individual(s) to
whom it is addressed, and may not be saved, copied, printed, disclosed or
used by anyone else.  If you are not the(an) intended recipient, please
immediately delete this e-mail from your computer system and notify the
sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Best App for Finding Memory leaks in WebApps running on Tomcat

2004-03-16 Thread Shapira, Yoav

Hi,

So if price was not a consideration, which would you go with?

OptimizeIt.  But my view is skewed in that I've been using OptimizeIt
for years and have naturally become adept at it.  I don't think
OptimizeIt and JProbe are much different from each other, both are
excellent.

I think the free ones in the link I sent before by and large have a LONG
way to go.  I've been waiting for a full-featured and fast open-source
profiler for years ;(  I think perhaps with the new low-overhead
JVMPI/DI/whatever interfaces in JDK 1.5, we'll finally see a nice
open-source profiler.  crossing fingers /

Yoav Shapira


-Original Message-
From: Shapira, Yoav [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 16, 2004 2:51 PM
To: Tomcat Users List
Subject: RE: Best App for Finding Memory leaks in WebApps running on
Tomcat


Hi,

Just wondering what you think is the best App for Finding Memory
leaks
in
WebApps running on Tomcat


Is Jprobe the consensus?

Far from it.  OptimizeIt and JProbe are probably the leaders among the
$$$
options with equal popularity.  I like OptimizeIt better but both are
good.

There are free alternatives as well, see
http://www.manageability.org/blog/stuff/open-source-profilers-for-java

Yoav Shapira



This e-mail, including any attachments, is a confidential business
communication, and may contain information that is confidential,
proprietary
and/or privileged.  This e-mail is intended only for the individual(s)
to
whom it is addressed, and may not be saved, copied, printed, disclosed
or
used by anyone else.  If you are not the(an) intended recipient, please
immediately delete this e-mail from your computer system and notify the
sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Best App for Finding Memory leaks in WebApps running on Tomca t

2004-03-16 Thread Reynir Þór Hübner
I went with Jprofiler, from ej-technologies.. It is very easy to 
configure and use.

-reynir

Robert Priest wrote:

Thanks Yoav,

So if price was not a consideration, which would you go with? 

-Original Message-
From: Shapira, Yoav [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 16, 2004 2:51 PM
To: Tomcat Users List
Subject: RE: Best App for Finding Memory leaks in WebApps running on Tomcat

Hi,

 

Just wondering what you think is the best App for Finding Memory leaks
   

in
 

WebApps running on Tomcat

Is Jprobe the consensus?
   

Far from it.  OptimizeIt and JProbe are probably the leaders among the $$$
options with equal popularity.  I like OptimizeIt better but both are good.
There are free alternatives as well, see
http://www.manageability.org/blog/stuff/open-source-profilers-for-java
Yoav Shapira



This e-mail, including any attachments, is a confidential business
communication, and may contain information that is confidential, proprietary
and/or privileged.  This e-mail is intended only for the individual(s) to
whom it is addressed, and may not be saved, copied, printed, disclosed or
used by anyone else.  If you are not the(an) intended recipient, please
immediately delete this e-mail from your computer system and notify the
sender.  Thank you.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Memory Leaks

2004-01-14 Thread Christian Witucki
Does anyone know that when Garbage Collection is going on how often it should be set 
to collect and if memory is really being returned.  I believe that the memory is not, 
but how can I check to determine that???

Christian Witucki
Network Analyst
375 Essjay Road
Williamsville, NY 14221
716-631-3001 x3812

CONFIDENTIALITY NOTICE. This e-mail and attachments, if any, may contain confidential 
information which is privileged and protected from disclosure by Federal and State 
confidentiality laws, rules or regulations.  This e-mail and attachments, if any, are 
intended for the designated addressee only .  If you are not the designated addressee, 
you are hereby notified that any disclosure, copying, or distribution of this e-mail 
and its attachments, if any, may be unlawful and may subject you to legal 
consequences.  If you have received this e-mail and attachments in error, please 
contact Independent Health immediately at (716) 631-3001 and delete the e-mail and its 
attachments from your computer.  Thank you for your attention.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory Leaks

2004-01-14 Thread Shapira, Yoav

Howdy,
Enable verbose GC (see Java VM Options for how to do this).

Yoav Shapira
Millennium ChemInformatics


-Original Message-
From: Christian Witucki [mailto:[EMAIL PROTECTED]
Sent: Wednesday, January 14, 2004 9:00 AM
To: [EMAIL PROTECTED]
Subject: Memory Leaks

Does anyone know that when Garbage Collection is going on how often it
should be set to collect and if memory is really being returned.  I
believe
that the memory is not, but how can I check to determine that???

Christian Witucki
Network Analyst
375 Essjay Road
Williamsville, NY 14221
716-631-3001 x3812

CONFIDENTIALITY NOTICE. This e-mail and attachments, if any, may
contain
confidential information which is privileged and protected from
disclosure
by Federal and State confidentiality laws, rules or regulations.  This
e-
mail and attachments, if any, are intended for the designated addressee
only .  If you are not the designated addressee, you are hereby
notified
that any disclosure, copying, or distribution of this e-mail and its
attachments, if any, may be unlawful and may subject you to legal
consequences.  If you have received this e-mail and attachments in
error,
please contact Independent Health immediately at (716) 631-3001 and
delete
the e-mail and its attachments from your computer.  Thank you for your
attention.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory Leaks

2004-01-14 Thread Allistair Crossley
I've been looking at this this week and have resolved that we need to buy a JVM 
Profiler, prob. JProfiler. 


-Original Message-
From: Christian Witucki [mailto:[EMAIL PROTECTED]
Sent: 14 January 2004 14:00
To: [EMAIL PROTECTED]
Subject: Memory Leaks


Does anyone know that when Garbage Collection is going on how often it should be set 
to collect and if memory is really being returned.  I believe that the memory is not, 
but how can I check to determine that???

Christian Witucki
Network Analyst
375 Essjay Road
Williamsville, NY 14221
716-631-3001 x3812

CONFIDENTIALITY NOTICE. This e-mail and attachments, if any, may contain confidential 
information which is privileged and protected from disclosure by Federal and State 
confidentiality laws, rules or regulations.  This e-mail and attachments, if any, are 
intended for the designated addressee only .  If you are not the designated addressee, 
you are hereby notified that any disclosure, copying, or distribution of this e-mail 
and its attachments, if any, may be unlawful and may subject you to legal 
consequences.  If you have received this e-mail and attachments in error, please 
contact Independent Health immediately at (716) 631-3001 and delete the e-mail and its 
attachments from your computer.  Thank you for your attention.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



FONT SIZE=1 FACE=VERDANA,ARIAL COLOR=BLUE 
---
QAS Ltd.
Developers of QuickAddress Software
a href=http://www.qas.com;www.qas.com/a
Registered in England: No 2582055
Registered in Australia: No 082 851 474
---
/FONT


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory Leaks

2004-01-14 Thread Bouchia Nazha
I have a problem with memory leak.
You have see my message BIG PROBLEM // LINUX TOMCAT SSL ?

-Message d'origine-
De : Christian Witucki [mailto:[EMAIL PROTECTED]
Envoy : mercredi 14 janvier 2004 15:00
 : [EMAIL PROTECTED]
Objet : Memory Leaks


Does anyone know that when Garbage Collection is going on how often it
should be set to collect and if memory is really being returned.  I believe
that the memory is not, but how can I check to determine that???

Christian Witucki
Network Analyst
375 Essjay Road
Williamsville, NY 14221
716-631-3001 x3812

CONFIDENTIALITY NOTICE. This e-mail and attachments, if any, may contain
confidential information which is privileged and protected from disclosure
by Federal and State confidentiality laws, rules or regulations.  This
e-mail and attachments, if any, are intended for the designated addressee
only .  If you are not the designated addressee, you are hereby notified
that any disclosure, copying, or distribution of this e-mail and its
attachments, if any, may be unlawful and may subject you to legal
consequences.  If you have received this e-mail and attachments in error,
please contact Independent Health immediately at (716) 631-3001 and delete
the e-mail and its attachments from your computer.  Thank you for your
attention.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.552 / Virus Database: 344 - Release Date: 15/12/2003

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.552 / Virus Database: 344 - Release Date: 15/12/2003



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory Leaks

2004-01-14 Thread Michael Duffy

My understanding is that the GC runs on a low-priority
thread, so you never get to tell it when to run.  The
operating system and JVM deal with it.

I also recall reading that memory is returned to the
JVM, but not released back to the OS.  So if you're
watching Memory Usage in the Windows Task Manager and
not seeing it go down, that might explain why. - MOD




--- Christian Witucki [EMAIL PROTECTED]
wrote:
 Does anyone know that when Garbage Collection is
 going on how often it should be set to collect and
 if memory is really being returned.  I believe that
 the memory is not, but how can I check to determine
 that???
 
 Christian Witucki
 Network Analyst
 375 Essjay Road
 Williamsville, NY 14221
 716-631-3001 x3812
 
 CONFIDENTIALITY NOTICE. This e-mail and attachments,
 if any, may contain confidential information which
 is privileged and protected from disclosure by
 Federal and State confidentiality laws, rules or
 regulations.  This e-mail and attachments, if any,
 are intended for the designated addressee only .  If
 you are not the designated addressee, you are hereby
 notified that any disclosure, copying, or
 distribution of this e-mail and its attachments, if
 any, may be unlawful and may subject you to legal
 consequences.  If you have received this e-mail and
 attachments in error, please contact Independent
 Health immediately at (716) 631-3001 and delete the
 e-mail and its attachments from your computer. 
 Thank you for your attention.
 
 

-
 To unsubscribe, e-mail:
 [EMAIL PROTECTED]
 For additional commands, e-mail:
 [EMAIL PROTECTED]
 


__
Do you Yahoo!?
Yahoo! Hotjobs: Enter the Signing Bonus Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory Leaks

2004-01-14 Thread Peter Guyatt
Hi There,

You can invoke the garbage collector by using the System.gc() method.

The memory is never returned to OS but the JVM keeps it in a pool used for
object creation, it would make no sense in releasing this back to the OS as
it will probably need to use it at some point or another.

In more recent JVM's (1.4 onwards) the garbage collector has been threaded
to improve performance and penalties as until then the cost of a collection
was relatively expensive.

For more information read the documentation at www.java.sun.com

Hope this helps

Pete

-Original Message-
From: Michael Duffy [mailto:[EMAIL PROTECTED]
Sent: 14 January 2004 14:07
To: Tomcat Users List
Subject: Re: Memory Leaks



My understanding is that the GC runs on a low-priority
thread, so you never get to tell it when to run.  The
operating system and JVM deal with it.

I also recall reading that memory is returned to the
JVM, but not released back to the OS.  So if you're
watching Memory Usage in the Windows Task Manager and
not seeing it go down, that might explain why. - MOD




--- Christian Witucki [EMAIL PROTECTED]
wrote:
 Does anyone know that when Garbage Collection is
 going on how often it should be set to collect and
 if memory is really being returned.  I believe that
 the memory is not, but how can I check to determine
 that???

 Christian Witucki
 Network Analyst
 375 Essjay Road
 Williamsville, NY 14221
 716-631-3001 x3812

 CONFIDENTIALITY NOTICE. This e-mail and attachments,
 if any, may contain confidential information which
 is privileged and protected from disclosure by
 Federal and State confidentiality laws, rules or
 regulations.  This e-mail and attachments, if any,
 are intended for the designated addressee only .  If
 you are not the designated addressee, you are hereby
 notified that any disclosure, copying, or
 distribution of this e-mail and its attachments, if
 any, may be unlawful and may subject you to legal
 consequences.  If you have received this e-mail and
 attachments in error, please contact Independent
 Health immediately at (716) 631-3001 and delete the
 e-mail and its attachments from your computer.
 Thank you for your attention.



-
 To unsubscribe, e-mail:
 [EMAIL PROTECTED]
 For additional commands, e-mail:
 [EMAIL PROTECTED]



__
Do you Yahoo!?
Yahoo! Hotjobs: Enter the Signing Bonus Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory Leaks

2004-01-14 Thread Shapira, Yoav

Howdy,
Just one correction:

   You can invoke the garbage collector by using the System.gc()
method.

This is a common misconception: System.gc() is merely a suggestion to
the VM to run collection.  The VM is not obliged to run it then, i.e.
this is not a hard directive.  It should never be relied upon.  With JDK
1.4, there's a runtime parameter to ignore System.gc() calls and that
parameter may be on by default in the future.

Yoav Shapira



The memory is never returned to OS but the JVM keeps it in a pool used
for
object creation, it would make no sense in releasing this back to the
OS as
it will probably need to use it at some point or another.

In more recent JVM's (1.4 onwards) the garbage collector has been
threaded
to improve performance and penalties as until then the cost of a
collection
was relatively expensive.

For more information read the documentation at www.java.sun.com

Hope this helps

Pete

-Original Message-
From: Michael Duffy [mailto:[EMAIL PROTECTED]
Sent: 14 January 2004 14:07
To: Tomcat Users List
Subject: Re: Memory Leaks



My understanding is that the GC runs on a low-priority
thread, so you never get to tell it when to run.  The
operating system and JVM deal with it.

I also recall reading that memory is returned to the
JVM, but not released back to the OS.  So if you're
watching Memory Usage in the Windows Task Manager and
not seeing it go down, that might explain why. - MOD




--- Christian Witucki [EMAIL PROTECTED]
wrote:
 Does anyone know that when Garbage Collection is
 going on how often it should be set to collect and
 if memory is really being returned.  I believe that
 the memory is not, but how can I check to determine
 that???

 Christian Witucki
 Network Analyst
 375 Essjay Road
 Williamsville, NY 14221
 716-631-3001 x3812

 CONFIDENTIALITY NOTICE. This e-mail and attachments,
 if any, may contain confidential information which
 is privileged and protected from disclosure by
 Federal and State confidentiality laws, rules or
 regulations.  This e-mail and attachments, if any,
 are intended for the designated addressee only .  If
 you are not the designated addressee, you are hereby
 notified that any disclosure, copying, or
 distribution of this e-mail and its attachments, if
 any, may be unlawful and may subject you to legal
 consequences.  If you have received this e-mail and
 attachments in error, please contact Independent
 Health immediately at (716) 631-3001 and delete the
 e-mail and its attachments from your computer.
 Thank you for your attention.



-
 To unsubscribe, e-mail:
 [EMAIL PROTECTED]
 For additional commands, e-mail:
 [EMAIL PROTECTED]



__
Do you Yahoo!?
Yahoo! Hotjobs: Enter the Signing Bonus Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory Leaks

2004-01-14 Thread Philipp Taprogge
Hi!

Shapira, Yoav wrote:

This is a common misconception: System.gc() is merely a suggestion to
the VM to run collection.  The VM is not obliged to run it then, i.e.
this is not a hard directive.  It should never be relied upon.  With JDK
1.4, there's a runtime parameter to ignore System.gc() calls and that
parameter may be on by default in the future.
Also, calling System.gc() is unnecessary in allmost all cases it is 
used. The VM does a far better job in determining when the gc should run 
than most programmers could. Only if you know your way around in the 
internals of the VM and you know that it will not run a gc cycle that 
would beneficial, you can call System.gc() to politely ask the VM to do 
so. Still no garantees, though.
In any case, although a call to System.cg() will most likely no hurt 
your performance, you should never ever rely on it.

	Phil

--
And on the seventh day, He exited from append mode.
(Book of create(2), line 255)
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Memory Leaks

2004-01-14 Thread Ralph Einfeldt
In general true and that's what the spec says,

but we had once following experience with a version 
of a jvm (can't recall which):

  The vm was not able to perform the gc if an out of 
  memory occured, even if enough free objects where 
  there to free quite some memory. (Obviously the gc 
  didn't start at a treshhold but only when the 
  memory was full, and couldn't  get the memory it 
  needed to perform the task)

  The problem vanished when we started to call
  gc() on a regular base. the call to gc() had 
  some effect. (Runtime.freeMemory() grew
  after each call to gc()) This indicated, that 
  (with that specific vm) the call to gc() did 
  something.

 -Original Message-
 From: Shapira, Yoav [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, January 14, 2004 3:43 PM
 To: Tomcat Users List
 Subject: RE: Memory Leaks
 
 
 This is a common misconception: System.gc() is merely a suggestion to
 the VM to run collection.  The VM is not obliged to run it then, i.e.
 this is not a hard directive.  It should never be relied 
 upon.  With JDK
 1.4, there's a runtime parameter to ignore System.gc() calls and that
 parameter may be on by default in the future.
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory Leaks

2004-01-14 Thread Christopher Schultz
Yoav,

 With JDK
1.4, there's a runtime parameter to ignore System.gc() calls and that
parameter may be on by default in the future.
What is this parameter? I've never seen it before...

-chris

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Memory Leaks

2004-01-14 Thread Shapira, Yoav

Howdy,

  With JDK
 1.4, there's a runtime parameter to ignore System.gc() calls and that
 parameter may be on by default in the future.

What is this parameter? I've never seen it before...

-chris

-XX:+DisableExplicitGC is the parameter, which I believe has been
available since JDK 1.4.0.

Yoav Shapria



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory Leaks

2004-01-14 Thread Christopher Schultz
Yoav,

With JDK
1.4, there's a runtime parameter to ignore System.gc() calls and that
parameter may be on by default in the future.
What is this parameter? I've never seen it before...
-XX:+DisableExplicitGC is the parameter, which I believe has been
available since JDK 1.4.0.  
Wow, I didn't know that -XX parameters existed. Where can I get more 
information on these, if you don't mind?

Thanks,
-chris
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Memory Leaks

2004-01-14 Thread Ralph Einfeldt
http://java.sun.com/docs/hotspot/VMOptions.html

 -Original Message-
 From: Christopher Schultz [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, January 14, 2004 4:17 PM
 To: Tomcat Users List
 Subject: Re: Memory Leaks
 
 
 
 Wow, I didn't know that -XX parameters existed. Where can I get more 
 information on these, if you don't mind?
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Vedr.: Re: Memory Leaks

2004-01-14 Thread Thomas Nybro Bolding
Hey Chris,
sorry for interrupting but if you into optimizing your JVM setting as well 
as explorings its options I would recommend:
- 
http://developers.sun.com/techtopics/mobility/midp/articles/garbagecollection2/
- http://java.sun.com/docs/hotspot/gc1.4.2/

Perhaps some of the more savvy developers can give more directions.

As always remember the best tests are those carried out by yourself 
profiling you applications  - if I didnt say SOMEONE else would have... 
;-)




Christopher Schultz [EMAIL PROTECTED]
14-01-2004 16:17
Besvar venligst til Tomcat Users List

 
Til:Tomcat Users List [EMAIL PROTECTED]
cc: 
Vedr.:  Re: Memory Leaks

Yoav,

With JDK
1.4, there's a runtime parameter to ignore System.gc() calls and that
parameter may be on by default in the future.

What is this parameter? I've never seen it before...
 
 -XX:+DisableExplicitGC is the parameter, which I believe has been
 available since JDK 1.4.0. 

Wow, I didn't know that -XX parameters existed. Where can I get more 
information on these, if you don't mind?

Thanks,
-chris

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





FONT SIZE=1 FACE=Arial___
Vi goer opmaerksom paa, at denne e-mail kan indeholde fortrolig information. Hvis du 
ved en fejltagelse modtager e-mailen, beder vi dig venligst informere afsender om 
fejlen ved at bruge svar-funktionen. Samtidig beder vi dig slette e-mailen i dit 
system uden at videresende eller kopiere den.
Selv om e-mailen og ethvert vedhaeftet bilag efter vores overbevisning er fri for 
virus og andre fejl, som kan paavirke computeren eller it-systemet, hvori den modtages 
og laeses, aabnes den paa modtagerens eget ansvar. Vi paatager os ikke noget ansvar 
for tab og skade, som er opstaaet i forbindelse med at modtage og bruge e-mailen.
___
Please note that this message may contain confidential information. If you have 
received this message by mistake, please inform the sender of the mistake by sending a 
reply, then delete the message from your system without making, distributing or 
retaining any copies of it.
Although we believe that the message and any attachments are free from viruses and 
other errors that might affect the computer or IT system where it is received and 
read, the recipient opens the message at his or her own risk. We assume no 
responsibility for any loss or damage arising from the receipt or use of this message.
/FONT



Re: Vedr.: Re: Memory Leaks

2004-01-14 Thread Christopher Schultz
Thomas,

sorry for interrupting but if you into optimizing your JVM setting as well 
as explorings its options I would recommend:
Perhaps some of the more savvy developers can give more directions.
Thanks for the pointers. Actually, I'm not having any performance 
problems at the moment :)

As always remember the best tests are those carried out by yourself 
profiling you applications  - if I didnt say SOMEONE else would have... 
I've been running OptimizeIt and Tomcat together and quite a while. You 
don't need to convince me!

-chris

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE : RE : memory-leaks in servlets, tool for tracing ?

2003-11-06 Thread Laurent Michenaud
When does a class reload occur ?

When u update a JSP ?
When u update a class ?
When u update a lib ?
When u do reload in the manager webapps ? = yes :)

Anything else ?

-Message d'origine-
De : Christopher Schultz [mailto:[EMAIL PROTECTED] 
Envoyé : mercredi 5 novembre 2003 23:31
À : Tomcat Users List
Objet : Re: RE : memory-leaks in servlets, tool for tracing ?

Laurent,
 What about classes with static method and/or static attributes ?
 
 Are they deleted from the old webapp ?

I don't believe that the VM ever releases resources taken up by Class 
objects (I think this includes static resources for a class). There used 
to be a VM option, -noclassgc, that was often used so that instance-less 
Classes wouldn't get GC'd. Almost everyone who ran Java apps turned that 
option on.

I'm not even sure if that option is still available. They may have 
simply eliminated the GC'ing of Class objects altogether.

I know that in my stock tc 4.1.27 on Sun's 1.4.2 VM, that after a 
re-load, all the old Class objects stick around. It's quite 
disconcerting because the heap grows by around 600 classes every time a 
context-reload occurs. The solution, of course, is not to enable 
context-reloading on production :)

-chris


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: RE : memory-leaks in servlets, tool for tracing ?

2003-11-06 Thread Shapira, Yoav

Howdy,

context-reload occurs. The solution, of course, is not to enable
context-reloading on production :)

This is very good advice.

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: RE : RE : memory-leaks in servlets, tool for tracing ?

2003-11-06 Thread Christopher Schultz
Laurent,
When does a class reload occur ?
I was talking about a context re-load, which dumps everything in the 
context and re-starts it in a new ClassLoader.

When u update a JSP ?
Yes, the class gets re-loaded, but not the whole context. This is much 
less of a problem.

When u update a class ?
Sometimes is depende on the class you update. If you update a servlet 
that's mapped in web.xml, then Tomcat will definately re-load the 
context. Sometimes it seems like if I update a bean class that Tomcat 
doesn't re-load. I don't know it's checking technique.

When u update a lib ?
I don't think it re-loads the context for a lib update.

When u do reload in the manager webapps ? = yes :)
Of course!

It will also re-load if web.xml changes, and I've seen it re-load 
sometimes if anything directly in the WEB-INF directory changes (i.e. I 
have struts-config.xml in my current application, and if I change that, 
sometimes it reloads).

-chris

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: memory-leaks in servlets, tool for tracing ?

2003-11-05 Thread Dirk Griesbach
Christopher,

thanks for your comprehensive response !
See more comments down ...

- Original Message -
From: Christopher Schultz [EMAIL PROTECTED]
To: Tomcat Users List [EMAIL PROTECTED]
Sent: Wednesday, October 29, 2003 3:29 PM
Subject: Re: memory-leaks in servlets, tool for tracing ?


 Grisi,

  our TC-based webapplication performs well but the java-processes
  concerned are showing increasing memory usage over time. For tracing
  we already stripped the app down to the very basic to get a clue.
  Wasn't successful enough.

 Have you looked at the memory over a long time, including several large
 GCs? I've had to do this in the past, and it's no fun without a
 profiler.

No, it isn't indeed. I've been checking LINUX' 'top' over a period of time.
A mem-hole is apparent. Unfortunately our app makes use of a
(self-developed)
JNI-Module (C) which makes it even more difficult because the C-code also
runs
in the Java-context.

Unfortunately, profiling tools can get expensive. Anyone know
 of any decent OSS ones out there?

'JProbe' and 'OptimizeIt!' are really no bargains !

 When I've done this sans profiler in the past, I did two things:

 1. Turn on verbose GC for the VM (dumps GC stats to stdout)
 2. Write a program to parse the GC lines and graph them over time

 We got a curve that looked like this:

   - max memory
  /\ /
 used memory-/\ /  \___/
  /\ /  \___/
 /  \___/
 --/ ^ OutOfMemoryError

 This indicated that we were really screwing up somewhere.

 Had the curve looked like this, we would be happy:

  - max memory
   /\   /\   /\
  /  \ /  \ /  \
 /\   /\   /\
/  \_/  \_/  \
 _/


 ... or even with high-frequency perturbations in there (usually from
 minor GCs happening periodically).

 It often helps to set the initial heap size and the maximum heap size to
 the same value (usually something like 256MB, 512MB, or 1024MB). Just
 remember that the higher it is, the longer you'll have to wait for a
 full GC.

 GCs don't always free everything they can. If they did, they'd take
 forever. It's only when the VM gets near its maximum heap size that the
 GC panics and goes on a collection rampage.

 If you ever get an OutOfMemoryError, go and get a thread-dump. On UNIX,
 you can sent the VM a STOP signal using kill or by pressing CTRL-\ if
 the VM is running in a terminal.

Good idea, I also achieved this by narrowing available mem on the machine
until java
gave up quitting with an 'out-of-mem' err.
The problem is that the dump written only contains the hex-adresses of the
modules being involved.
No possibilty to trace those adressesdown  to the functions or even modules
involved.
Even more difficult: the root cause given by this dump is not the
function(s)/method(s) causing the
memory problems.


 You'll get lots of good information including the number of threads and
 where they are. You might find that there are threads there that you
 thought had terminated long ago. Old active threads are always a source
 of tied-up memory.

  Does anybody's got experience with a profiling toolkit which she/he
  can suggest ?

There is a tool provided by SUN itself called 'HAT' (HeapAnalyzingTool)
http://java.sun.com/people/billf/heap/
but this seems to be only applicable to java programs, not servlets.
With Tomcat there were errors. May be in different cases this would help.


 I have some experience with Borland's OptimizeIt, and I've even recently
 installed it on Linux and run Tomcat 4.1 through it. I was able to
 determine something about the VM and Tomcat that might help you. I
 thought I had a memory leak, too.

In our case it was helpful to operate java with the -Xincgc option that
causes the
GC to collect smaller amounts of mem; but does this more often. It gives a
more
accurate impression in the current memory status.

What we did is the following:
- separate the JNI-module and write a little main()-frame around it to run
it alone.
- compile this with the 'dmalloc'-library to identify mem not being free'd
there.
- running the Servlet in one scenario (without JNI) and examine the few
methods being touched.
- rewrite java-code being in question.
- test it on mem-behavior.
- iterate with the next scenario etc.

Could be more satisfying, this kind of work, but it should be
straight-forward.

 It turns out that when you recompile your servlets and Tomcat does an
 auto-reload (I have it configured that way), a new ClassLoader gets
 installed to hold the classes loaded for the new context. However, the
 classes loaded from the old context stick around because the JVM doesn't
 want to discard java.lang.Class objects in case they're useful in the
 future.

 This increases the number of java.lang.Class objects by about 600 every
 time I recompiled. After many compile-deploy-reload cycles, my VM was
 hogging all my memory and lots

Re: memory-leaks in servlets, tool for tracing ?

2003-11-05 Thread Christopher Schultz
Grisi,

our TC-based webapplication performs well but the java-processes
concerned are showing increasing memory usage over time. For tracing
we already stripped the app down to the very basic to get a clue.
Wasn't successful enough.
Have you looked at the memory over a long time, including several large
GCs? I've had to do this in the past, and it's no fun without a
profiler.
No, it isn't indeed. I've been checking LINUX' 'top' over a period of time.
A mem-hole is apparent. Unfortunately our app makes use of a
(self-developed)
JNI-Module (C) which makes it even more difficult because the C-code also
runs in the Java-context.
Ooh, JNI is always a wild-card. I wrote some JNI code that we were using 
within a servlet container as well. I tested the hell out of it, 
especially with threaded use (that's very important). I could only get 
it to fail when it had trouble writing to files at very high thread 
rates (I made each thread write to files on a floppy disk, which would 
run out of space and cause an I/O error).

I'd highly recommend testing your native library separately from the use 
of JNI and the servlet. Try setting up a test harness for the native 
code to see if there are easier memory leaks to find. Adding JNI and the 
VM on top of all that it tough.

Some profiles claim to allow you to watch native code as well as Java 
code (which sounds really cool!), but again they are expensive. You can 
use gdb and clever use of tests that are likely to break your code 
without getting Java involved.


Unfortunately, profiling tools can get expensive. Anyone know
of any decent OSS ones out there?
I don't. Anyone have any ideas? Some intern at my old company wrote one 
from scratch, apparently, so I'm guessing they aren't TOO hard. He used 
the JVMDP or whatever, which is a debugging protocol that you use to 
attach to a running VM process.

'JProbe' and 'OptimizeIt!' are really no bargains !
Well, that depends on how much money you are going to spend to find the 
problem otherwise. How much do you (and your team) cost per hour to your 
employer? If it's going to take you a week (40 hours * x team members), 
then how does that compare to the cost of an OptimizeIt license...?

The problem is that the [thread] dump written only contains the hex-adresses of the
modules being involved.
No possibilty to trace those adressesdown  to the functions or even modules
involved.
Yeah, that's a problem. You'd have to do a lot of investigation to 
figure out what's actually being executed.

Even more difficult: the root cause given by this dump is not the
function(s)/method(s) causing the
memory problems.
Well, once you get an OutOfMemoryException, you pretty much can't trust 
anything the VM says after that. What you're seeing is just a guide; 
they might be total lies. :)

There is a tool provided by SUN itself called 'HAT' (HeapAnalyzingTool)
http://java.sun.com/people/billf/heap/
but this seems to be only applicable to java programs, not servlets.
With Tomcat there were errors. May be in different cases this would help.
Well, Tomcat is a Java program, so you should be able to use it, right? 
It's just a matter of figuring out how to hook it into your startup 
process. I hacked through the OptimizeIt instructions and created an ant 
target to start my Tomcat instance running inside of OptimizeIt. Very sexy.

In our case it was helpful to operate java with the -Xincgc option that
causes the
GC to collect smaller amounts of mem; but does this more often. It gives a
more
accurate impression in the current memory status.
What we did is the following:
- separate the JNI-module and write a little main()-frame around it to run
it alone.
- compile this with the 'dmalloc'-library to identify mem not being free'd
there.
- running the Servlet in one scenario (without JNI) and examine the few
methods being touched.
- rewrite java-code being in question.
- test it on mem-behavior.
- iterate with the next scenario etc.
Could be more satisfying, this kind of work, but it should be
straight-forward.
Well, that's the approach I'd take without a profiler.

Good luck. Let us know what you find.

-chris

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: memory-leaks in servlets, tool for tracing ?

2003-11-05 Thread Shapira, Yoav

Howdy,

our TC-based webapplication performs well but the java-processes
concerned are showing increasing memory usage over time. For tracing

This basic idea that memory usage should be constant over time is very
common and usually wrong.  The JVM will use as much memory as it needs
without GC'ing until it has to.  So if you give it 1GB for an app that
needs 10MB, and keep that app running for long, you'd see memory usage
increasing and increasing until GC is fired.  Even then, the heap will
stay where it was, only the %free will be much higher.  The better
solution here is not to give your app so much memory, make GC run more
often, and track the %free instead of just total process image memory
via the top command.  You need to find it if there are memory leaks, of
if the memory increase is legitimate, e.g. due to high usage.

I'd highly recommend testing your native library separately from the
use

That's a very good suggestion.

 Unfortunately, profiling tools can get expensive. Anyone know
of any decent OSS ones out there?

The question comes up every couple of months on this list, search the
archives.  Personally, I think OptimizeIt is worth its price without a
doubt.

I don't. Anyone have any ideas? Some intern at my old company wrote one
from scratch, apparently, so I'm guessing they aren't TOO hard. He used
the JVMDP or whatever, which is a debugging protocol that you use to
attach to a running VM process.

It's easy to write bad profilers, each EXTREMELY difficult to write
profilers with low overhead.  It's the JVMPI (Java Virtual Machine
Profiling Interface) that you must implement.

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: memory-leaks in servlets, tool for tracing ?

2003-11-05 Thread Anthony E. Carlos
Yoav,

You make a great point about how the app should stabilize it's memory 
usage over time. However, I've got a question about memory usage when I 
stop (via Tomcat manager) and reload a webapp via a WAR file. If I 
understand your point, and I'm close to the max heap size, shouldn't GC 
free up the memory from the old webapp? In my case, GC happens more 
frequently, but doesn't do a great job (not even close to freeing up 
the memory footprint of my webapp). Eventually, I run into out of 
memory problems. Shouldn't a reload of a webapp cause a relase of the 
resources from the old webapp?

-Anthony Carlos

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: memory-leaks in servlets, tool for tracing ?

2003-11-05 Thread Shapira, Yoav

Howdy,

You make a great point about how the app should stabilize it's memory
usage over time. However, I've got a question about memory usage when I
stop (via Tomcat manager) and reload a webapp via a WAR file. If I
understand your point, and I'm close to the max heap size, shouldn't GC
free up the memory from the old webapp? In my case, GC happens more
frequently, but doesn't do a great job (not even close to freeing up
the memory footprint of my webapp). Eventually, I run into out of
memory problems. Shouldn't a reload of a webapp cause a relase of the
resources from the old webapp?

A reload should release old resources when you restart the webapp, yes.
But it's your responsibility to ensure there's nothing in your
application which would stay in memory after a webapp restart.  For
example, classes in common/lib aren't affected by a restart, so if you
app puts stuff there, and then you restart your app, the stuff you put
in common/lib will still be there.

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE : memory-leaks in servlets, tool for tracing ?

2003-11-05 Thread Laurent Michenaud
What about classes with static method and/or static attributes ?

Are they deleted from the old webapp ?

-Message d'origine-
De : Shapira, Yoav [mailto:[EMAIL PROTECTED] 
Envoyé : mercredi 5 novembre 2003 15:57
À : Tomcat Users List
Objet : RE: memory-leaks in servlets, tool for tracing ?


Howdy,

You make a great point about how the app should stabilize it's memory
usage over time. However, I've got a question about memory usage when I
stop (via Tomcat manager) and reload a webapp via a WAR file. If I
understand your point, and I'm close to the max heap size, shouldn't GC
free up the memory from the old webapp? In my case, GC happens more
frequently, but doesn't do a great job (not even close to freeing up
the memory footprint of my webapp). Eventually, I run into out of
memory problems. Shouldn't a reload of a webapp cause a relase of the
resources from the old webapp?

A reload should release old resources when you restart the webapp, yes.
But it's your responsibility to ensure there's nothing in your
application which would stay in memory after a webapp restart.  For
example, classes in common/lib aren't affected by a restart, so if you
app puts stuff there, and then you restart your app, the stuff you put
in common/lib will still be there.

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE : RE : memory-leaks in servlets, tool for tracing ?

2003-11-05 Thread Laurent Michenaud
It would be good if some of you writes an kind of howTo
that shows :
- a webapp with a memory leak.
- the use of a profiler program ( with screenshots ) to detect the memory leak.

-Message d'origine-
De : Laurent Michenaud 
Envoyé : mercredi 5 novembre 2003 16:56
À : Tomcat Users List
Objet : RE : memory-leaks in servlets, tool for tracing ?

What about classes with static method and/or static attributes ?

Are they deleted from the old webapp ?

-Message d'origine-
De : Shapira, Yoav [mailto:[EMAIL PROTECTED] 
Envoyé : mercredi 5 novembre 2003 15:57
À : Tomcat Users List
Objet : RE: memory-leaks in servlets, tool for tracing ?


Howdy,

You make a great point about how the app should stabilize it's memory
usage over time. However, I've got a question about memory usage when I
stop (via Tomcat manager) and reload a webapp via a WAR file. If I
understand your point, and I'm close to the max heap size, shouldn't GC
free up the memory from the old webapp? In my case, GC happens more
frequently, but doesn't do a great job (not even close to freeing up
the memory footprint of my webapp). Eventually, I run into out of
memory problems. Shouldn't a reload of a webapp cause a relase of the
resources from the old webapp?

A reload should release old resources when you restart the webapp, yes.
But it's your responsibility to ensure there's nothing in your
application which would stay in memory after a webapp restart.  For
example, classes in common/lib aren't affected by a restart, so if you
app puts stuff there, and then you restart your app, the stuff you put
in common/lib will still be there.

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: RE : RE : memory-leaks in servlets, tool for tracing ?

2003-11-05 Thread Shapira, Yoav

Howdy,
That'd be good, and I think there are some efforts in this area.  (Is Peter Lin's 
apache performance book available for online purchase?)  You can google for them.  
Another one with a specific app is a good idea, but requires a lot of time ;)

Yoav Shapira
Millennium ChemInformatics


-Original Message-
From: Laurent Michenaud [mailto:[EMAIL PROTECTED]
Sent: Wednesday, November 05, 2003 10:59 AM
To: Tomcat Users List
Subject: RE : RE : memory-leaks in servlets, tool for tracing ?

It would be good if some of you writes an kind of howTo
that shows :
- a webapp with a memory leak.
- the use of a profiler program ( with screenshots ) to detect the memory
leak.

-Message d'origine-
De : Laurent Michenaud
Envoyé : mercredi 5 novembre 2003 16:56
À : Tomcat Users List
Objet : RE : memory-leaks in servlets, tool for tracing ?

What about classes with static method and/or static attributes ?

Are they deleted from the old webapp ?

-Message d'origine-
De : Shapira, Yoav [mailto:[EMAIL PROTECTED]
Envoyé : mercredi 5 novembre 2003 15:57
À : Tomcat Users List
Objet : RE: memory-leaks in servlets, tool for tracing ?


Howdy,

You make a great point about how the app should stabilize it's memory
usage over time. However, I've got a question about memory usage when I
stop (via Tomcat manager) and reload a webapp via a WAR file. If I
understand your point, and I'm close to the max heap size, shouldn't GC
free up the memory from the old webapp? In my case, GC happens more
frequently, but doesn't do a great job (not even close to freeing up
the memory footprint of my webapp). Eventually, I run into out of
memory problems. Shouldn't a reload of a webapp cause a relase of the
resources from the old webapp?

A reload should release old resources when you restart the webapp, yes.
But it's your responsibility to ensure there's nothing in your
application which would stay in memory after a webapp restart.  For
example, classes in common/lib aren't affected by a restart, so if you
app puts stuff there, and then you restart your app, the stuff you put
in common/lib will still be there.

Yoav Shapira



This e-mail, including any attachments, is a confidential business
communication, and may contain information that is confidential,
proprietary and/or privileged.  This e-mail is intended only for the
individual(s) to whom it is addressed, and may not be saved, copied,
printed, disclosed or used by anyone else.  If you are not the(an) intended
recipient, please immediately delete this e-mail from your computer system
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: RE : memory-leaks in servlets, tool for tracing ?

2003-11-05 Thread Christopher Schultz
Laurent,
What about classes with static method and/or static attributes ?

Are they deleted from the old webapp ?
I don't believe that the VM ever releases resources taken up by Class 
objects (I think this includes static resources for a class). There used 
to be a VM option, -noclassgc, that was often used so that instance-less 
Classes wouldn't get GC'd. Almost everyone who ran Java apps turned that 
option on.

I'm not even sure if that option is still available. They may have 
simply eliminated the GC'ing of Class objects altogether.

I know that in my stock tc 4.1.27 on Sun's 1.4.2 VM, that after a 
re-load, all the old Class objects stick around. It's quite 
disconcerting because the heap grows by around 600 classes every time a 
context-reload occurs. The solution, of course, is not to enable 
context-reloading on production :)

-chris

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


memory-leaks in servlets, tool for tracing ?

2003-10-29 Thread Dirk Griesbach
hi everybody,

our TC-based webapplication performs well but the java-processes concerned are showing 
increasing memory usage over time. For tracing we already stripped the app down to the 
very basic to get a clue. Wasn't successful enough.

Does anybody's got experience with a profiling toolkit which she/he can suggest ?

grisi


RE: memory-leaks in servlets, tool for tracing ?

2003-10-29 Thread Shapira, Yoav

Howdy,
I like OptimizeIt's heap snapshots.

Yoav Shapira
Millennium ChemInformatics


-Original Message-
From: Dirk Griesbach [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 29, 2003 4:03 AM
To: Tomcat Users List
Subject: memory-leaks in servlets, tool for tracing ?

hi everybody,

our TC-based webapplication performs well but the java-processes
concerned
are showing increasing memory usage over time. For tracing we already
stripped the app down to the very basic to get a clue. Wasn't
successful
enough.

Does anybody's got experience with a profiling toolkit which she/he can
suggest ?

grisi



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: memory-leaks in servlets, tool for tracing ?

2003-10-29 Thread Christopher Schultz
Grisi,

our TC-based webapplication performs well but the java-processes
concerned are showing increasing memory usage over time. For tracing
we already stripped the app down to the very basic to get a clue.
Wasn't successful enough.
Have you looked at the memory over a long time, including several large 
GCs? I've had to do this in the past, and it's no fun without a 
profiler. Unfortunately, profiling tools can get expensive. Anyone know 
of any decent OSS ones out there?

When I've done this sans profiler in the past, I did two things:

1. Turn on verbose GC for the VM (dumps GC stats to stdout)
2. Write a program to parse the GC lines and graph them over time
We got a curve that looked like this:

  - max memory
/\ /
used memory-/\ /  \___/
/\ /  \___/
   /  \___/
--/ ^ OutOfMemoryError
This indicated that we were really screwing up somewhere.

Had the curve looked like this, we would be happy:

 - max memory
 /\   /\   /\
/  \ /  \ /  \
   /\   /\   /\
  /  \_/  \_/  \
_/
... or even with high-frequency perturbations in there (usually from 
minor GCs happening periodically).

It often helps to set the initial heap size and the maximum heap size to 
the same value (usually something like 256MB, 512MB, or 1024MB). Just 
remember that the higher it is, the longer you'll have to wait for a 
full GC.

GCs don't always free everything they can. If they did, they'd take 
forever. It's only when the VM gets near its maximum heap size that the 
GC panics and goes on a collection rampage.

If you ever get an OutOfMemoryError, go and get a thread-dump. On UNIX, 
you can sent the VM a STOP signal using kill or by pressing CTRL-\ if 
the VM is running in a terminal.

You'll get lots of good information including the number of threads and 
where they are. You might find that there are threads there that you 
thought had terminated long ago. Old active threads are always a source 
of tied-up memory.

Does anybody's got experience with a profiling toolkit which she/he
can suggest ?
I have some experience with Borland's OptimizeIt, and I've even recently
installed it on Linux and run Tomcat 4.1 through it. I was able to
determine something about the VM and Tomcat that might help you. I
thought I had a memory leak, too.
It turns out that when you recompile your servlets and Tomcat does an
auto-reload (I have it configured that way), a new ClassLoader gets
installed to hold the classes loaded for the new context. However, the
classes loaded from the old context stick around because the JVM doesn't
want to discard java.lang.Class objects in case they're useful in the
future.
This increases the number of java.lang.Class objects by about 600 every
time I recompiled. After many compile-deploy-reload cycles, my VM was
hogging all my memory and lots of CPU. Perhaps this is your problem, too?
-chris

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Memory leaks?

2003-09-06 Thread Sai Sivanesan
may be a little off topic, but - check to see if you are logging any 404
messages on the tomcat side - i have found that memory and cpu idle time seem
to dissappear with every 404 request passed over to tomcat from apache

Sai.

On Fri, 5 Sep 2003 12:09:52 -0500, Mike Curwen wrote
 After about 15 emails, I'm gonna go back to the first:
 
  I seemed to have read that java/tomcat isn't 
  supposed to have memory leaks,
 
 AND
 
  So where do I start looking for the problem?  
  If I forget to close Statements would that cause the 
  problem?
 
 So first of all, Java has built-in memory management and garbage
 collection, so comparing against a language like C++, it's MUCH 
 harder to cause a memory leak in a Java program, *but not 
 impossible*. And up to now we're focusing on JDBC.  Connection pools 
 and whether or not your driver strictly adheres to the JDBC standard 
 are certainly one source of memory leaks. But they're not the only 
 ones possible. What sorts of other activities are going on in your 
 application?  Do you have other 3rd party libraries?  Libraries 
 you've written yourself? Have these been profiled and exercised to 
 ensure they are not the ones leaking?
 
  
  -Original Message-
  From: Jim Lynch [mailto:[EMAIL PROTECTED] 
  Sent: Friday, September 05, 2003 9:37 AM
  To: Tomcat Users List
  Subject: Re: Memory leaks?
  
  
  I'm most certain the connections are closed but there may be 
  a few dangling statements.  I'm using mysql jdbc.  Not using 
  pools since I never could get it working.  Making direct requests.  
  
  Still getting a out of memory hit every couple of days so I 
  have to shutdown the server and start it up again.
  
  THnak,s
  Jim.
  
  Shapira, Yoav wrote:
   
   Howdy,
   You don't have to close a result set if you're closing the 
  statement 
   right away and the result set is the only one associated with the 
   statement... And in no case can closing the result set 
  explicitly hurt 
   performance.
   
   Yoav Shapira
   Millennium ChemInformatics
   
   -Original Message-
   From: Greg Ward [mailto:[EMAIL PROTECTED]
   Sent: Thursday, September 04, 2003 10:05 AM
   To: Tomcat Users List; [EMAIL PROTECTED]
   Subject: Re: Memory leaks?
   
   On 03 September 2003, Jim Lynch said:
OK, that's probably what's going on.  I know I should close
   Statements
and Connections and do normally but I'm fairly certain I've some 
out there dangling.  I didn't know you had to close ResultSets, 
however. Glad to know that.
   
   You don't have to close ResultSets -- check the JDBC docs:
   
   
   
  http://java.sun.com/j2se/1.4.2/docs/api/java/s
 ql/Statement.html#close(
   )
   
   (Closing a Statement also closes any open ResultSets 
  associated with 
   that Statement.)
   
   Greg
   
   
  -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: 
  [EMAIL PROTECTED]
   
   This e-mail, including any attachments, is a confidential business 
   communication, and may contain information that is confidential, 
   proprietary and/or privileged.  This e-mail is intended 
  only for the 
   individual(s) to whom it is addressed, and may not be 
  saved, copied, 
   printed, disclosed or used by anyone else.  If you are not the(an) 
   intended recipient, please immediately delete this e-mail from your 
   computer system and notify the sender.  Thank you.
   
   
  -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
  
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



--
Open WebMail Project (http://openwebmail.org)


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory leaks?

2003-09-05 Thread Nikola Milutinovic
 But depending on the DB, it can cause problems from the DB with too many
 open ResultSets... I had an issue with performance testing where everything
 but ResultSets were being closed and the Oracle DB started throwing errors
 after about 500 queries.  Better safe than sorry.

Well, from what I know, in general (not Oracle specific). If you open a connection 
within some scope (Servlet, JSP, any other class), then create a statement and finally 
a result set, shouldn't deleting the most upper scope cause all these lower levels 
be closed and garbage collected?

With Servlets and JSP, of course, you have no control whatsoever as to when they will 
be put out of service. But suppose you are tidy and do a close on the connection - 
shouldn't that clean-up the underlying Statement(s) and ResultSet(s)? Even with 
connection pooling, this should work.

Nix.

Re: Memory leaks?

2003-09-05 Thread Tim Funk
The JDBC spec states that when a connection is closed, all dependent assets 
should also be closed. So if you are using a pool, make sure your pool is 
compliant since the connection is never closed until the pool closes it.

When garbage collection runs is a whole different story. But its just good 
coding to close your ResultSet, Statements as soon as your done with them.

-Tim

Nikola Milutinovic wrote:

But depending on the DB, it can cause problems from the DB with too many
open ResultSets... I had an issue with performance testing where everything
but ResultSets were being closed and the Oracle DB started throwing errors
after about 500 queries.  Better safe than sorry.


Well, from what I know, in general (not Oracle specific). If you open a connection within some scope (Servlet, JSP, any other class), then create a statement and finally a result set, shouldn't deleting the most upper scope cause all these lower levels be closed and garbage collected?

With Servlets and JSP, of course, you have no control whatsoever as to when they will be put out of service. But suppose you are tidy and do a close on the connection - shouldn't that clean-up the underlying Statement(s) and ResultSet(s)? Even with connection pooling, this should work.

Nix.




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


AW: Memory leaks?

2003-09-05 Thread Rademacher Tobias
As far as I know the Oracle JDBC driver does not follow the specificiation.
You should close your all objects in the following order:

1) ResultSet
2) Statement
3) Connection

 -Ursprüngliche Nachricht-
 Von: Tim Funk [mailto:[EMAIL PROTECTED]
 Gesendet am: Freitag, 5. September 2003 13:02
 An: Tomcat Users List
 Betreff: Re: Memory leaks?
 
 The JDBC spec states that when a connection is closed, all 
 dependent assets 
 should also be closed. So if you are using a pool, make sure 
 your pool is 
 compliant since the connection is never closed until the pool 
 closes it.
 
 When garbage collection runs is a whole different story. But 
 its just good 
 coding to close your ResultSet, Statements as soon as your 
 done with them.
 
 -Tim
 
 Nikola Milutinovic wrote:
 
 But depending on the DB, it can cause problems from the DB 
 with too many
 open ResultSets... I had an issue with performance testing 
 where everything
 but ResultSets were being closed and the Oracle DB started 
 throwing errors
 after about 500 queries.  Better safe than sorry.
  
  
  Well, from what I know, in general (not Oracle specific). 
 If you open a connection within some scope (Servlet, JSP, any 
 other class), then create a statement and finally a result 
 set, shouldn't deleting the most upper scope cause all these 
 lower levels be closed and garbage collected?
  
  With Servlets and JSP, of course, you have no control 
 whatsoever as to when they will be put out of service. But 
 suppose you are tidy and do a close on the connection - 
 shouldn't that clean-up the underlying Statement(s) and 
 ResultSet(s)? Even with connection pooling, this should work.
  
  Nix.
  
  
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory leaks?

2003-09-05 Thread John Turner
Tim Funk wrote:

The JDBC spec states that when a connection is closed, all dependent 
assets should also be closed. So if you are using a pool, make sure your 
pool is compliant since the connection is never closed until the pool 
closes it.
So, that means that if you have a pool of ten connections, and you use 
each of those ten connections ten times with 2 ResultSets, you have 200 
ResultSets sitting in memory, assuming you don't close them yourself?

John



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Memory leaks?

2003-09-05 Thread Tim Funk
It depends. If your webapp calls connection.close(), then the result sets 
*should* be closed.

But that is based one of the following assumptions:
- Your connection is the actual db connection and the driver is JDBC compliant
- The connection is a facade to the actual connection for the sake of using a 
database connection pool. And the facade is smart enough to close all 
dependent assets on that connection for you.

I *try* to make my programmers only have one statement and result set open at 
a time per connection. If a second statement or result set needs opened, they 
should either close the existing resources or open another connection. They 
must always close ANYTHING they open.

-Tim

John Turner wrote:

Tim Funk wrote:

The JDBC spec states that when a connection is closed, all dependent 
assets should also be closed. So if you are using a pool, make sure 
your pool is compliant since the connection is never closed until the 
pool closes it.


So, that means that if you have a pool of ten connections, and you use 
each of those ten connections ten times with 2 ResultSets, you have 200 
ResultSets sitting in memory, assuming you don't close them yourself?

John


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Memory leaks?

2003-09-05 Thread Christopher Williams
It's simple good practice to close objects that have close methods when you
no longer need them (as you do with stream objects, for example).

The spec says that ResultSet objects are closed when their Statement objects
are closed and that Statement objects are closed when their Connection
objects are closed.  I personally like to keep hold of a Connection object
for the lifetime of my application (or until it fails), because connecting
to a database is an expensive operation.  Also, if you use Connection
pooling, Connection objects can be kept open for as long as your application
server or whatever is running, so that unclosed Statements with their open
ResultSets simply sit around hogging resources (and some of the resources
that they hog, such as database cursors, are not lightweight).

This is what I do for JDBC calls:

// Assume a connection has been made
Connection conn...;
PreparedStatement ps = null;
ResultSet rs = null;

try {
// Create a PreparedStatement and use it to open a ResultSet
...
// Clean up
rs.close();
} catch (SQLException e) {
// Do something with the error
} finally {
try {
if (null != ps) {
ps.close();
} catch (SQLException e) {}
}

This guarantees that the objects are always closed (assuming, of course,
that the close() operations succeed).  The rs.close() is, in theory,
unnecessary as the ps.close() call is supposed to close it implicitly, but
my background is in C and I always tried to free anything that I'd malloced.
It's a habit that's stuck.

In short, ALWAYS CLOSE YOUR STATEMENT OBJECTS.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory leaks?

2003-09-05 Thread Jim Lynch
I'm most certain the connections are closed but there may be a few
dangling statements.  I'm using mysql jdbc.  Not using pools since I
never could get it working.  Making direct requests.  

Still getting a out of memory hit every couple of days so I have to
shutdown the server and start it up again.

THnak,s
Jim.

Shapira, Yoav wrote:
 
 Howdy,
 You don't have to close a result set if you're closing the statement
 right away and the result set is the only one associated with the
 statement... And in no case can closing the result set explicitly hurt
 performance.
 
 Yoav Shapira
 Millennium ChemInformatics
 
 -Original Message-
 From: Greg Ward [mailto:[EMAIL PROTECTED]
 Sent: Thursday, September 04, 2003 10:05 AM
 To: Tomcat Users List; [EMAIL PROTECTED]
 Subject: Re: Memory leaks?
 
 On 03 September 2003, Jim Lynch said:
  OK, that's probably what's going on.  I know I should close
 Statements
  and Connections and do normally but I'm fairly certain I've some out
  there dangling.  I didn't know you had to close ResultSets, however.
  Glad to know that.
 
 You don't have to close ResultSets -- check the JDBC docs:
 
 
 http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#close()
 
 (Closing a Statement also closes any open ResultSets associated with
 that Statement.)
 
 Greg
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 This e-mail, including any attachments, is a confidential business communication, 
 and may contain information that is confidential, proprietary and/or privileged.  
 This e-mail is intended only for the individual(s) to whom it is addressed, and may 
 not be saved, copied, printed, disclosed or used by anyone else.  If you are not 
 the(an) intended recipient, please immediately delete this e-mail from your computer 
 system and notify the sender.  Thank you.
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory leaks?

2003-09-05 Thread Mike Curwen
After about 15 emails, I'm gonna go back to the first:

 I seemed to have read that java/tomcat isn't 
 supposed to have memory leaks,

AND

 So where do I start looking for the problem?  
 If I forget to close Statements would that cause the 
 problem?

So first of all, Java has built-in memory management and garbage
collection, so comparing against a language like C++, it's MUCH harder
to cause a memory leak in a Java program, *but not impossible*. And up
to now we're focusing on JDBC.  Connection pools and whether or not your
driver strictly adheres to the JDBC standard are certainly one source of
memory leaks. But they're not the only ones possible. What sorts of
other activities are going on in your application?  Do you have other
3rd party libraries?  Libraries you've written yourself? Have these been
profiled and exercised to ensure they are not the ones leaking?

 
 -Original Message-
 From: Jim Lynch [mailto:[EMAIL PROTECTED] 
 Sent: Friday, September 05, 2003 9:37 AM
 To: Tomcat Users List
 Subject: Re: Memory leaks?
 
 
 I'm most certain the connections are closed but there may be 
 a few dangling statements.  I'm using mysql jdbc.  Not using 
 pools since I never could get it working.  Making direct requests.  
 
 Still getting a out of memory hit every couple of days so I 
 have to shutdown the server and start it up again.
 
 THnak,s
 Jim.
 
 Shapira, Yoav wrote:
  
  Howdy,
  You don't have to close a result set if you're closing the 
 statement 
  right away and the result set is the only one associated with the 
  statement... And in no case can closing the result set 
 explicitly hurt 
  performance.
  
  Yoav Shapira
  Millennium ChemInformatics
  
  -Original Message-
  From: Greg Ward [mailto:[EMAIL PROTECTED]
  Sent: Thursday, September 04, 2003 10:05 AM
  To: Tomcat Users List; [EMAIL PROTECTED]
  Subject: Re: Memory leaks?
  
  On 03 September 2003, Jim Lynch said:
   OK, that's probably what's going on.  I know I should close
  Statements
   and Connections and do normally but I'm fairly certain I've some 
   out there dangling.  I didn't know you had to close ResultSets, 
   however. Glad to know that.
  
  You don't have to close ResultSets -- check the JDBC docs:
  
  
  
 http://java.sun.com/j2se/1.4.2/docs/api/java/s
ql/Statement.html#close(
  )
  
  (Closing a Statement also closes any open ResultSets 
 associated with 
  that Statement.)
  
  Greg
  
  
 -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: 
 [EMAIL PROTECTED]
  
  This e-mail, including any attachments, is a confidential business 
  communication, and may contain information that is confidential, 
  proprietary and/or privileged.  This e-mail is intended 
 only for the 
  individual(s) to whom it is addressed, and may not be 
 saved, copied, 
  printed, disclosed or used by anyone else.  If you are not the(an) 
  intended recipient, please immediately delete this e-mail from your 
  computer system and notify the sender.  Thank you.
  
  
 -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory leaks?

2003-09-05 Thread Jim Lynch
I have no home grown libs, but I do have a lib for the Split function
and the gnu-regex lib.  Now that split is available in 1.4 I could
convert to it and see if that helps.  I have no idea how to profile and
exercise a library, so I'd have to answer no.

Thanks,
Jim.

Mike Curwen wrote:
 
 After about 15 emails, I'm gonna go back to the first:
 
  I seemed to have read that java/tomcat isn't
  supposed to have memory leaks,
 
 AND
 
  So where do I start looking for the problem?
  If I forget to close Statements would that cause the
  problem?
 
 So first of all, Java has built-in memory management and garbage
 collection, so comparing against a language like C++, it's MUCH harder
 to cause a memory leak in a Java program, *but not impossible*. And up
 to now we're focusing on JDBC.  Connection pools and whether or not your
 driver strictly adheres to the JDBC standard are certainly one source of
 memory leaks. But they're not the only ones possible. What sorts of
 other activities are going on in your application?  Do you have other
 3rd party libraries?  Libraries you've written yourself? Have these been
 profiled and exercised to ensure they are not the ones leaking?
 
 
  -Original Message-
  From: Jim Lynch [mailto:[EMAIL PROTECTED]
  Sent: Friday, September 05, 2003 9:37 AM
  To: Tomcat Users List
  Subject: Re: Memory leaks?
 
 
  I'm most certain the connections are closed but there may be
  a few dangling statements.  I'm using mysql jdbc.  Not using
  pools since I never could get it working.  Making direct requests.
 
  Still getting a out of memory hit every couple of days so I
  have to shutdown the server and start it up again.
 
  THnak,s
  Jim.
 
  Shapira, Yoav wrote:
  
   Howdy,
   You don't have to close a result set if you're closing the
  statement
   right away and the result set is the only one associated with the
   statement... And in no case can closing the result set
  explicitly hurt
   performance.
  
   Yoav Shapira
   Millennium ChemInformatics
  
   -Original Message-
   From: Greg Ward [mailto:[EMAIL PROTECTED]
   Sent: Thursday, September 04, 2003 10:05 AM
   To: Tomcat Users List; [EMAIL PROTECTED]
   Subject: Re: Memory leaks?
   
   On 03 September 2003, Jim Lynch said:
OK, that's probably what's going on.  I know I should close
   Statements
and Connections and do normally but I'm fairly certain I've some
out there dangling.  I didn't know you had to close ResultSets,
however. Glad to know that.
   
   You don't have to close ResultSets -- check the JDBC docs:
   
   
  
  http://java.sun.com/j2se/1.4.2/docs/api/java/s
 ql/Statement.html#close(
   )
   
   (Closing a Statement also closes any open ResultSets
  associated with
   that Statement.)
   
   Greg
   
  
  -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail:
  [EMAIL PROTECTED]
  
   This e-mail, including any attachments, is a confidential business
   communication, and may contain information that is confidential,
   proprietary and/or privileged.  This e-mail is intended
  only for the
   individual(s) to whom it is addressed, and may not be
  saved, copied,
   printed, disclosed or used by anyone else.  If you are not the(an)
   intended recipient, please immediately delete this e-mail from your
   computer system and notify the sender.  Thank you.
  
  
  -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory leaks?

2003-09-04 Thread Ralph Einfeldt
In my experience this is not a good recommendation:

- -server is less stable than -client in all JDK's that I tried,
  and this has been confirmed by several list members.

- -server won't help much on out of memory errors. The gc is 
  behaving differently, but it can't free more objects, they 
  are just freed at different times. If you get a out of memory 
  error, there rn't any object that can be freed.

 -Original Message-
 From: Richard Hill [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, September 03, 2003 7:40 PM
 To: 'Tomcat Users List'
 Subject: RE: Memory leaks?
 
 
 Try passing the jvm the -server option
 
 -Original Message-
 From: Jim Lynch [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, September 03, 2003 9:57 AM
 To: tomcat
 Subject: Memory leaks?
 
 I seemed to have read that java/tomcat isn't supposed to have memory
 leaks, but something seems to be running me out of memory and I don't
 know what.
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE : Memory leaks?

2003-09-04 Thread Hertenstein Alain
A question here : why do you put rs.close(), rs = null, stmt.close(), stmt
= null etc twice, in both try and finally statements ?
Since the finally statement is called whenever an exception is thrown or
not, you don't need to close rs, stmt and conn in the try statement
first...
Am I wrong here ?

Thanks
Alain

-Message d'origine-
De : Paul [mailto:[EMAIL PROTECTED] 
Envoyé : mercredi, 3. septembre 2003 21:28
À : Tomcat Users List
Objet : Re: Memory leaks?


Docs indicate that leaving a stmt or rs object open can cause memory leaks.
Found the following in the tomcat docs somewhere, i think:

Here is an example of properly written code to use a db connection obtained
from a connection pool:

  Connection conn = null;
  Statement stmt = null;  // Or PreparedStatement if needed
  ResultSet rs = null;
  try {
conn = ... get connection from connection pool ...
stmt = conn.createStatement(select ...);
rs = stmt.executeQuery();
... iterate through the result set ...
rs.close();
rs = null;
stmt.close();
stmt = null;
conn.close(); // Return to connection pool
conn = null;  // Make sure we don't close it twice
  } catch (SQLException e) {
... deal with errors ...
  } finally {
// Always make sure result sets and statements are closed,
// and the connection is returned to the pool
if (rs != null) {
  try { rs.close(); } catch (SQLException e) { ; }
  rs = null;
}
if (stmt != null) {
  try { stmt.close(); } catch (SQLException e) { ; }
  stmt = null;
}
if (conn != null) {
  try { conn.close(); } catch (SQLException e) { ; }
  conn = null;
}
  }



- Original Message - 
From: Jim Lynch [EMAIL PROTECTED]
To: tomcat [EMAIL PROTECTED]
Sent: Wednesday, September 03, 2003 12:56 PM
Subject: Memory leaks?


 I seemed to have read that java/tomcat isn't supposed to have memory 
 leaks, but something seems to be running me out of memory and I don't 
 know what.

 After a number of edit/undeploy/compile/deploy iterations I get the
 following:

 javax.servlet.ServletException: Servlet execution threw an exception 
 at

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:269)
 at

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)

 (Big snip)


org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
 at
 org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
 565)
 at

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
 at java.lang.Thread.run(Thread.java:536)

 root cause

 java.lang.OutOfMemoryError

 I'm running tomcat 4.1.24 on Linux with Apache 1.something.  Java 
 1.4.1_02.

 So where do I start looking for the problem?  If I forget to close 
 Statements would that cause the problem?

 Thanks,
 Jim.

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


**
 This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
**


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory leaks?

2003-09-04 Thread Shapira, Yoav

Howdy,
I completely agree with Senor Einfeldt's comments, having found exactly
the same results in my experience with -server.  Waiting for Tiger's
-server fixes.

To the original poster: any objects with dangling references may not be
recycled when your app is restarted.  These can have bad consequences,
such as excessive memory use or stale data, or even tomcat-killing
errors such as the dreaded CL: Lifecycle Stopped one ;)

You should very carefully inspect your app to close all resources that
you can: basically, if it has a public
close()/shutdown()/terminate()/whatever function, use it ;)  This
applies to DB objects, such as the connection/statement/result
set/connection pool, but also to others like JMS connections/sessions,
mail sessions, transactions, etc.

Yoav Shapira
Millennium ChemInformatics


-Original Message-
From: Ralph Einfeldt [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 04, 2003 2:00 AM
To: Tomcat Users List
Subject: RE: Memory leaks?

In my experience this is not a good recommendation:

- -server is less stable than -client in all JDK's that I tried,
  and this has been confirmed by several list members.

- -server won't help much on out of memory errors. The gc is
  behaving differently, but it can't free more objects, they
  are just freed at different times. If you get a out of memory
  error, there rn't any object that can be freed.

 -Original Message-
 From: Richard Hill [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, September 03, 2003 7:40 PM
 To: 'Tomcat Users List'
 Subject: RE: Memory leaks?


 Try passing the jvm the -server option

 -Original Message-
 From: Jim Lynch [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, September 03, 2003 9:57 AM
 To: tomcat
 Subject: Memory leaks?

 I seemed to have read that java/tomcat isn't supposed to have memory
 leaks, but something seems to be running me out of memory and I don't
 know what.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory leaks?

2003-09-04 Thread Greg Ward
On 03 September 2003, Jim Lynch said:
 OK, that's probably what's going on.  I know I should close Statements
 and Connections and do normally but I'm fairly certain I've some out
 there dangling.  I didn't know you had to close ResultSets, however. 
 Glad to know that.

You don't have to close ResultSets -- check the JDBC docs:

  http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#close()

(Closing a Statement also closes any open ResultSets associated with
that Statement.)

Greg

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory leaks?

2003-09-04 Thread Shapira, Yoav

Howdy,
You don't have to close a result set if you're closing the statement
right away and the result set is the only one associated with the
statement... And in no case can closing the result set explicitly hurt
performance.

Yoav Shapira
Millennium ChemInformatics


-Original Message-
From: Greg Ward [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 04, 2003 10:05 AM
To: Tomcat Users List; [EMAIL PROTECTED]
Subject: Re: Memory leaks?

On 03 September 2003, Jim Lynch said:
 OK, that's probably what's going on.  I know I should close
Statements
 and Connections and do normally but I'm fairly certain I've some out
 there dangling.  I didn't know you had to close ResultSets, however.
 Glad to know that.

You don't have to close ResultSets -- check the JDBC docs:


http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#close()

(Closing a Statement also closes any open ResultSets associated with
that Statement.)

Greg

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory leaks?

2003-09-04 Thread Hookom, Jacob
But depending on the DB, it can cause problems from the DB with too many
open ResultSets... I had an issue with performance testing where everything
but ResultSets were being closed and the Oracle DB started throwing errors
after about 500 queries.  Better safe than sorry.

-Original Message-
From: Greg Ward [mailto:[EMAIL PROTECTED] 
Sent: Thursday, September 04, 2003 9:05 AM
To: Tomcat Users List; [EMAIL PROTECTED]
Subject: Re: Memory leaks?

On 03 September 2003, Jim Lynch said:
 OK, that's probably what's going on.  I know I should close Statements
 and Connections and do normally but I'm fairly certain I've some out
 there dangling.  I didn't know you had to close ResultSets, however. 
 Glad to know that.

You don't have to close ResultSets -- check the JDBC docs:

  http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#close()

(Closing a Statement also closes any open ResultSets associated with
that Statement.)

Greg

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Memory leaks?

2003-09-03 Thread Jim Lynch
I seemed to have read that java/tomcat isn't supposed to have memory
leaks, but something seems to be running me out of memory and I don't
know what.

After a number of edit/undeploy/compile/deploy iterations I get the
following:

javax.servlet.ServletException: Servlet execution threw an exception
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

(Big snip)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)

root cause 

java.lang.OutOfMemoryError

I'm running tomcat 4.1.24 on Linux with Apache 1.something.  Java
1.4.1_02.

So where do I start looking for the problem?  If I forget to close
Statements would that cause the problem?

Thanks,
Jim.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Memory leaks?

2003-09-03 Thread Richard Hill
Try passing the jvm the -server option

-Original Message-
From: Jim Lynch [mailto:[EMAIL PROTECTED]
Sent: Wednesday, September 03, 2003 9:57 AM
To: tomcat
Subject: Memory leaks?


I seemed to have read that java/tomcat isn't supposed to have memory
leaks, but something seems to be running me out of memory and I don't
know what.

After a number of edit/undeploy/compile/deploy iterations I get the
following:

javax.servlet.ServletException: Servlet execution threw an exception
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)

(Big snip)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
at java.lang.Thread.run(Thread.java:536)

root cause 

java.lang.OutOfMemoryError

I'm running tomcat 4.1.24 on Linux with Apache 1.something.  Java
1.4.1_02.

So where do I start looking for the problem?  If I forget to close
Statements would that cause the problem?

Thanks,
Jim.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory leaks?

2003-09-03 Thread Paul
Docs indicate that leaving a stmt or rs object open can cause memory leaks.
Found the following in the tomcat docs somewhere, i think:

Here is an example of properly written code to use a db connection obtained
from a connection pool:

  Connection conn = null;
  Statement stmt = null;  // Or PreparedStatement if needed
  ResultSet rs = null;
  try {
conn = ... get connection from connection pool ...
stmt = conn.createStatement(select ...);
rs = stmt.executeQuery();
... iterate through the result set ...
rs.close();
rs = null;
stmt.close();
stmt = null;
conn.close(); // Return to connection pool
conn = null;  // Make sure we don't close it twice
  } catch (SQLException e) {
... deal with errors ...
  } finally {
// Always make sure result sets and statements are closed,
// and the connection is returned to the pool
if (rs != null) {
  try { rs.close(); } catch (SQLException e) { ; }
  rs = null;
}
if (stmt != null) {
  try { stmt.close(); } catch (SQLException e) { ; }
  stmt = null;
}
if (conn != null) {
  try { conn.close(); } catch (SQLException e) { ; }
  conn = null;
}
  }



- Original Message - 
From: Jim Lynch [EMAIL PROTECTED]
To: tomcat [EMAIL PROTECTED]
Sent: Wednesday, September 03, 2003 12:56 PM
Subject: Memory leaks?


 I seemed to have read that java/tomcat isn't supposed to have memory
 leaks, but something seems to be running me out of memory and I don't
 know what.

 After a number of edit/undeploy/compile/deploy iterations I get the
 following:

 javax.servlet.ServletException: Servlet execution threw an exception
 at

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:269)
 at

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)

 (Big snip)


org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
 at
 org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
 at

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
 at java.lang.Thread.run(Thread.java:536)

 root cause

 java.lang.OutOfMemoryError

 I'm running tomcat 4.1.24 on Linux with Apache 1.something.  Java
 1.4.1_02.

 So where do I start looking for the problem?  If I forget to close
 Statements would that cause the problem?

 Thanks,
 Jim.

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Memory leaks?

2003-09-03 Thread Jim Lynch
OK, that's probably what's going on.  I know I should close Statements
and Connections and do normally but I'm fairly certain I've some out
there dangling.  I didn't know you had to close ResultSets, however. 
Glad to know that.

Thanks,
Jim.

Paul wrote:
 
 Docs indicate that leaving a stmt or rs object open can cause memory leaks.
 Found the following in the tomcat docs somewhere, i think:
 
 Here is an example of properly written code to use a db connection obtained
 from a connection pool:
 
   Connection conn = null;
   Statement stmt = null;  // Or PreparedStatement if needed
   ResultSet rs = null;
   try {
 conn = ... get connection from connection pool ...
 stmt = conn.createStatement(select ...);
 rs = stmt.executeQuery();
 ... iterate through the result set ...
 rs.close();
 rs = null;
 stmt.close();
 stmt = null;
 conn.close(); // Return to connection pool
 conn = null;  // Make sure we don't close it twice
   } catch (SQLException e) {
 ... deal with errors ...
   } finally {
 // Always make sure result sets and statements are closed,
 // and the connection is returned to the pool
 if (rs != null) {
   try { rs.close(); } catch (SQLException e) { ; }
   rs = null;
 }
 if (stmt != null) {
   try { stmt.close(); } catch (SQLException e) { ; }
   stmt = null;
 }
 if (conn != null) {
   try { conn.close(); } catch (SQLException e) { ; }
   conn = null;
 }
   }
 
 - Original Message -
 From: Jim Lynch [EMAIL PROTECTED]
 To: tomcat [EMAIL PROTECTED]
 Sent: Wednesday, September 03, 2003 12:56 PM
 Subject: Memory leaks?
 
  I seemed to have read that java/tomcat isn't supposed to have memory
  leaks, but something seems to be running me out of memory and I don't
  know what.
 
  After a number of edit/undeploy/compile/deploy iterations I get the
  following:
 
  javax.servlet.ServletException: Servlet execution threw an exception
  at
 
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
 FilterChain.java:269)
  at
 
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
 ain.java:193)
 
  (Big snip)
 
 
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
 ction(Http11Protocol.java:392)
  at
  org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
  at
 
 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
 a:619)
  at java.lang.Thread.run(Thread.java:536)
 
  root cause
 
  java.lang.OutOfMemoryError
 
  I'm running tomcat 4.1.24 on Linux with Apache 1.something.  Java
  1.4.1_02.
 
  So where do I start looking for the problem?  If I forget to close
  Statements would that cause the problem?
 
  Thanks,
  Jim.
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Tomcat Memory leaks!

2003-06-04 Thread Shapira, Yoav

Howdy,
Umm, where's the memory leak?  ;)  Do you have any idea at all what
could be causing it?  Have you even once run your server with a profiler
to see where memory is being allocated???  We'll need a lot more
information if you want us to seriously look at this...

Yoav Shapira
Millennium ChemInformatics


-Original Message-
From: Robert Abbate [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 12:06 AM
To: [EMAIL PROTECTED]
Subject: Tomcat Memory leaks!
Importance: High

Hi. It seems Tomcat (4.1.24) has a major memory leak, and I wanted to
bring
it to the developers attention so they can check it out.

I run a shared hosting server (Mandrake 8.2, Apache 1.3) with virtual
hosts.
I have 1 Gig of RAM and about 50 virtual hosts and yet I keep getting
Out
of
Memory errors!

I have made numerous adjustments to memory allocations, yet nothing
helps.
Here's an example of what I've done:

CATALINA_OPTS=-Xmx64mb
and
CATALINA_OPTS=-Xmx1028mb

I can furnish my server.xml file upon request or anything else you may
need
to fix the problem.

Thanks
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Tomcat Memory leaks!

2003-06-04 Thread Hua Hou
Which JDK version are you using? If you are using JDK1.4.1_02, you might
have a memory leak problem (bug#4724129). Try to switch to JDK1.3.1_07 and
see whether you still have the same problem.

My 2 cents.


-Original Message-
From: Robert Abbate [mailto:[EMAIL PROTECTED] 
Sent: Monday, June 02, 2003 10:06 PM
To: [EMAIL PROTECTED]
Subject: Tomcat Memory leaks!
Importance: High

Hi. It seems Tomcat (4.1.24) has a major memory leak, and I wanted to bring
it to the developers attention so they can check it out.

I run a shared hosting server (Mandrake 8.2, Apache 1.3) with virtual hosts.
I have 1 Gig of RAM and about 50 virtual hosts and yet I keep getting Out of
Memory errors!

I have made numerous adjustments to memory allocations, yet nothing helps.
Here's an example of what I've done:

CATALINA_OPTS=-Xmx64mb
and
CATALINA_OPTS=-Xmx1028mb

I can furnish my server.xml file upon request or anything else you may need
to fix the problem.

Thanks
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Tomcat Memory leaks!

2003-06-03 Thread Robert Abbate
Hi. It seems Tomcat (4.1.24) has a major memory leak, and I wanted to bring
it to the developers attention so they can check it out.

I run a shared hosting server (Mandrake 8.2, Apache 1.3) with virtual hosts.
I have 1 Gig of RAM and about 50 virtual hosts and yet I keep getting Out of
Memory errors!

I have made numerous adjustments to memory allocations, yet nothing helps.
Here's an example of what I've done:

CATALINA_OPTS=-Xmx64mb
and
CATALINA_OPTS=-Xmx1028mb

I can furnish my server.xml file upon request or anything else you may need
to fix the problem.

Thanks
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Tomcat Memory leaks!

2003-06-03 Thread Alex Burton
Try the option to fork off the JSP compiles (or even use Jikes to compile).

There seems to be a problem with compiling of JSPs that does not use the
usual memory you can allocate with the -Xmx type flag... maybe one of the
guru's can explain this.. but we had similar problem that whe nwe moved to
jikes forked compiles went away...

Hope that helps.

Cheers,
Alex.

-Original Message-
From: Robert Abbate [mailto:[EMAIL PROTECTED]
Sent: Tuesday, 3 June 2003 2:06 PM
To: [EMAIL PROTECTED]
Subject: Tomcat Memory leaks!
Importance: High


Hi. It seems Tomcat (4.1.24) has a major memory leak, and I wanted to bring
it to the developers attention so they can check it out.

I run a shared hosting server (Mandrake 8.2, Apache 1.3) with virtual hosts.
I have 1 Gig of RAM and about 50 virtual hosts and yet I keep getting Out of
Memory errors!

I have made numerous adjustments to memory allocations, yet nothing helps.
Here's an example of what I've done:

CATALINA_OPTS=-Xmx64mb
and
CATALINA_OPTS=-Xmx1028mb

I can furnish my server.xml file upon request or anything else you may need
to fix the problem.

Thanks
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Tomcat Memory leaks!

2003-06-03 Thread Robert Abbate
Hi. I honestly have no idea what you are talking about. Can you explain what
needs to be done for this? You talking about changing `javac`? Thanks

-Original Message-
From: Alex Burton [mailto:[EMAIL PROTECTED]
Sent: Monday, June 02, 2003 11:12 PM
To: Tomcat Users List
Subject: RE: Tomcat Memory leaks!


Try the option to fork off the JSP compiles (or even use Jikes to compile).

There seems to be a problem with compiling of JSPs that does not use the
usual memory you can allocate with the -Xmx type flag... maybe one of the
guru's can explain this.. but we had similar problem that whe nwe moved to
jikes forked compiles went away...

Hope that helps.

Cheers,
Alex.

-Original Message-
From: Robert Abbate [mailto:[EMAIL PROTECTED]
Sent: Tuesday, 3 June 2003 2:06 PM
To: [EMAIL PROTECTED]
Subject: Tomcat Memory leaks!
Importance: High


Hi. It seems Tomcat (4.1.24) has a major memory leak, and I wanted to bring
it to the developers attention so they can check it out.

I run a shared hosting server (Mandrake 8.2, Apache 1.3) with virtual hosts.
I have 1 Gig of RAM and about 50 virtual hosts and yet I keep getting Out of
Memory errors!

I have made numerous adjustments to memory allocations, yet nothing helps.
Here's an example of what I've done:

CATALINA_OPTS=-Xmx64mb
and
CATALINA_OPTS=-Xmx1028mb

I can furnish my server.xml file upon request or anything else you may need
to fix the problem.

Thanks
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Tomcat Memory leaks!

2003-06-03 Thread Alex Burton
Have a look here:
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jasper-howto.html

In your tomcat_home/conf/web.xml you can modify the following like this
(assuming you have Jikes installed):

servlet
servlet-namejsp/servlet-name
servlet-classorg.apache.jasper.servlet.JspServlet/servlet-class
init-param
param-namelogVerbosityLevel/param-name
param-valueWARNING/param-value
/init-param
init-param
param-namefork/param-name
param-valuetrue/param-value
/init-param
init-param
param-namecompiler/param-name
param-valuejikes/param-value
/init-param
load-on-startup3/load-on-startup
/servlet

-Original Message-
From: Robert Abbate [mailto:[EMAIL PROTECTED]
Sent: Tuesday, 3 June 2003 2:18 PM
To: Tomcat Users List
Subject: RE: Tomcat Memory leaks!


Hi. I honestly have no idea what you are talking about. Can you explain what
needs to be done for this? You talking about changing `javac`? Thanks

-Original Message-
From: Alex Burton [mailto:[EMAIL PROTECTED]
Sent: Monday, June 02, 2003 11:12 PM
To: Tomcat Users List
Subject: RE: Tomcat Memory leaks!


Try the option to fork off the JSP compiles (or even use Jikes to compile).

There seems to be a problem with compiling of JSPs that does not use the
usual memory you can allocate with the -Xmx type flag... maybe one of the
guru's can explain this.. but we had similar problem that whe nwe moved to
jikes forked compiles went away...

Hope that helps.

Cheers,
Alex.

-Original Message-
From: Robert Abbate [mailto:[EMAIL PROTECTED]
Sent: Tuesday, 3 June 2003 2:06 PM
To: [EMAIL PROTECTED]
Subject: Tomcat Memory leaks!
Importance: High


Hi. It seems Tomcat (4.1.24) has a major memory leak, and I wanted to bring
it to the developers attention so they can check it out.

I run a shared hosting server (Mandrake 8.2, Apache 1.3) with virtual hosts.
I have 1 Gig of RAM and about 50 virtual hosts and yet I keep getting Out of
Memory errors!

I have made numerous adjustments to memory allocations, yet nothing helps.
Here's an example of what I've done:

CATALINA_OPTS=-Xmx64mb
and
CATALINA_OPTS=-Xmx1028mb

I can furnish my server.xml file upon request or anything else you may need
to fix the problem.

Thanks
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Tomcat Memory leaks!

2003-06-03 Thread Angus Mezick
How would setting fork to true change anything?  I thought it was the
default setting.  Am I wrong or is the documentation in web.xml wrong?
--Angus

 -Original Message-
 From: Alex Burton [mailto:[EMAIL PROTECTED] 
 Sent: Tuesday, June 03, 2003 12:30 AM
 To: Tomcat Users List
 Subject: RE: Tomcat Memory leaks!
 
 
 Have a look here: 
 http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jasper-howto.html
 
 In your tomcat_home/conf/web.xml you can modify the 
 following like this (assuming you have Jikes installed):
 
 servlet
 servlet-namejsp/servlet-name
 
 servlet-classorg.apache.jasper.servlet.JspServlet/servlet-class
 init-param
 param-namelogVerbosityLevel/param-name
 param-valueWARNING/param-value
 /init-param
 init-param
 param-namefork/param-name
 param-valuetrue/param-value
 /init-param
 init-param
 param-namecompiler/param-name
 param-valuejikes/param-value
 /init-param
 load-on-startup3/load-on-startup
 /servlet
 
 -Original Message-
 From: Robert Abbate [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, 3 June 2003 2:18 PM
 To: Tomcat Users List
 Subject: RE: Tomcat Memory leaks!
 
 
 Hi. I honestly have no idea what you are talking about. Can 
 you explain what needs to be done for this? You talking about 
 changing `javac`? Thanks
 
 -Original Message-
 From: Alex Burton [mailto:[EMAIL PROTECTED]
 Sent: Monday, June 02, 2003 11:12 PM
 To: Tomcat Users List
 Subject: RE: Tomcat Memory leaks!
 
 
 Try the option to fork off the JSP compiles (or even use 
 Jikes to compile).
 
 There seems to be a problem with compiling of JSPs that does 
 not use the usual memory you can allocate with the -Xmx type 
 flag... maybe one of the guru's can explain this.. but we had 
 similar problem that whe nwe moved to jikes forked compiles 
 went away...
 
 Hope that helps.
 
 Cheers,
 Alex.
 
 -Original Message-
 From: Robert Abbate [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, 3 June 2003 2:06 PM
 To: [EMAIL PROTECTED]
 Subject: Tomcat Memory leaks!
 Importance: High
 
 
 Hi. It seems Tomcat (4.1.24) has a major memory leak, and I 
 wanted to bring it to the developers attention so they can 
 check it out.
 
 I run a shared hosting server (Mandrake 8.2, Apache 1.3) with 
 virtual hosts. I have 1 Gig of RAM and about 50 virtual hosts 
 and yet I keep getting Out of Memory errors!
 
 I have made numerous adjustments to memory allocations, yet 
 nothing helps. Here's an example of what I've done:
 
 CATALINA_OPTS=-Xmx64mb
 and
 CATALINA_OPTS=-Xmx1028mb
 
 I can furnish my server.xml file upon request or anything 
 else you may need to fix the problem.
 
 Thanks
 ---
 Outgoing mail is certified Virus Free.
 Checked by AVG anti-virus system (http://www.grisoft.com).
 Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 ---
 Outgoing mail is certified Virus Free.
 Checked by AVG anti-virus system (http://www.grisoft.com).
 Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



mssqlserver jdbc drivers - memory leaks

2003-03-28 Thread Jackson, Stephen
This is more of an informative e-mail than a problem.  I was using the
mssqlserver jdbc drivers on both Solaris and Linux platforms.  The web
application is using lots of @@Identity and inserts into the database.
There was an instance to test some stuff that I was attempting lots of
inserts ( more than 10,000 ).  

When attempting to do some logging I got a (Too may open files) exception.
Well I changed out the mssqlserver jdbc to an existing JTurbo jdbc license
we had and the problem went away.

So needless to say there are memory leaks in the microsoft jdbc drivers.

I was pulling my hair out over this and I was hoping to spare anybody
anguish if possible.


Stephen Jackson

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 4.0.2 memory leaks?

2002-02-11 Thread Remy Maucherat

 Hi,

 Tomcat 4.0.2 release notes mention a javac memory leak.  I checked the
 archive, but it wasn't clear whether the memory leak problem is a javac
(as
 distributed by SUN in a JDK release) is the root cause.  Could someone
 confirm the javac memory leak problem is tomcat specific or a JDK
 specific, if JDK, which JDK? ???

That's a leak in javac. Use JspC to compile the JSP if there's a large
number of them in your webapp.

Remy


--
To unsubscribe:   mailto:[EMAIL PROTECTED]
For additional commands: mailto:[EMAIL PROTECTED]
Troubles with the list: mailto:[EMAIL PROTECTED]




Re: Tomcat 4.0.2 memory leaks?

2002-02-11 Thread Phan Anh Tran

Hi Remy,

Do you have a link to a javasoft bug report for the javac memory leak?  Thanks.

Anh

At 05:30 PM 2/11/2002 -0800, Remy Maucherat wrote:
  Hi,
 
  Tomcat 4.0.2 release notes mention a javac memory leak.  I checked the
  archive, but it wasn't clear whether the memory leak problem is a javac
(as
  distributed by SUN in a JDK release) is the root cause.  Could someone
  confirm the javac memory leak problem is tomcat specific or a JDK
  specific, if JDK, which JDK? ???

That's a leak in javac. Use JspC to compile the JSP if there's a large
number of them in your webapp.

Remy


--
To unsubscribe:   mailto:[EMAIL PROTECTED]
For additional commands: mailto:[EMAIL PROTECTED]
Troubles with the list: mailto:[EMAIL PROTECTED]



--
To unsubscribe:   mailto:[EMAIL PROTECTED]
For additional commands: mailto:[EMAIL PROTECTED]
Troubles with the list: mailto:[EMAIL PROTECTED]




Re: linux + tomcat 3 memory leaks ?

2001-12-24 Thread Renato

Humm... Did you try the lastest nightly build ? I just happen to have the 
exact same configuration ( except the kernel ) and everything is running 
perfectly, much much better than in Tomcat 3.2.4 by the way. ( I strongly 
recommend the upgrade to everybody !! )

On Sat, 22 Dec 2001 12:52:24 +0100, Dom [EMAIL PROTECTED] escreveu :

 I've installed Tomcat 3.3 in my linux box
 After a fresh boot, tomcat launched and NO web application running, I can
 see that the tomcat user memory is growing regulary by watching Top.
 
 Why ?
 
 Mandake Linux 7.2 with 2.4.16 kernel (not 2.2.16)
 Apache 1.3.19
 Tomcat 3.3
 IBMJava2-13
 
 Dom
 
 
 
 --
 To unsubscribe:   mailto:[EMAIL PROTECTED]
 For additional commands: mailto:[EMAIL PROTECTED]
 Troubles with the list: mailto:[EMAIL PROTECTED]
 
 
 
 

--
To unsubscribe:   mailto:[EMAIL PROTECTED]
For additional commands: mailto:[EMAIL PROTECTED]
Troubles with the list: mailto:[EMAIL PROTECTED]




linux + tomcat 3 memory leaks ?

2001-12-22 Thread Dom

I've installed Tomcat 3.3 in my linux box
After a fresh boot, tomcat launched and NO web application running, I can
see that the tomcat user memory is growing regulary by watching Top.

Why ?

Mandake Linux 7.2 with 2.4.16 kernel (not 2.2.16)
Apache 1.3.19
Tomcat 3.3
IBMJava2-13

Dom



--
To unsubscribe:   mailto:[EMAIL PROTECTED]
For additional commands: mailto:[EMAIL PROTECTED]
Troubles with the list: mailto:[EMAIL PROTECTED]