RE: OutOfMemory! Tomcat meets sudden spikes of used memory sometimes.

2004-12-10 Thread Shapira, Yoav

Hi,

>Thank Yoav very much.
>I will report my ending for the problem.
>
>Li Zhenxing

No problem, I'm glad to help.  These are the interesting problems, to me
at least.  Especially when the person working on them seems to have a
good grip on things, like you do.  I look forward to seeing your results
/ solution...

Yoav Shapira http://www.yoavshapira.com




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: OutOfMemory! Tomcat meets sudden spikes of used memory sometimes.

2004-12-09 Thread Li Zhenxing
On Thu, 9 Dec 2004 08:30:26 -0500, Shapira, Yoav <[EMAIL PROTECTED]> wrote:

> So there is a constant load and constant memory usage for a couple of
> days, and then under the same load the memory usage spikes up?  No other
> external parameters change, e.g. the database going down?

I don't find other external parameters change. And the app gets right,
once restart tomcat!

> And they don't change, right?  So they don't need to be recompiled by
> Jasper.

Yes, they don't change.

> Can you correlate your access log (assuming it's enabled: if not, enable
> it) to the increase in memory usage>  Maybe it will show one particular
> page being requested when the memory spikes up.

I have already correlated all JSP. But find nothing. All the access
JSPs during memory spiking up are normal pages. Those are visited
everyday.
Now I guess maybe some parameters of one JSP are wrong. I don't
correlate every access URL. I am tring to finish this work. You know,
this is big work because the access URL is more than 10 thousands
within a few minutes.

Thank Yoav very much.
I will report my ending for the problem. 

Li Zhenxing

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



RE: OutOfMemory! Tomcat meets sudden spikes of used memory sometimes.

2004-12-09 Thread Shapira, Yoav

Hi,

>I think it is a obvious memory leak because the number of request
>threads doesn't increase and the app hits just is normal when the
>inflexion of gc figure appreas.

So there is a constant load and constant memory usage for a couple of
days, and then under the same load the memory usage spikes up?  No other
external parameters change, e.g. the database going down?

>It should been given max memory as possible to avoid JVM increases
>heap progressively when the server machine only runs tomcat.
>I think all heavy load app should set two parameter  equal.

I disagree.  Pretty much no performance tuning criterion applies to "all
heavy load" apps.  And the practice of setting -Xms = -Xmx is outdated,
as recent JDKs are very good at rapidly allocating large chunks of the
heap on-demand.  However, it's your app and your call, and it sounds
like you've given it some thought, which is good.


>I have 2~3 hundreds JSPs that almost be requested everyday.

And they don't change, right?  So they don't need to be recompiled by
Jasper.

>Does one JSP has memory leak at a special situation? Or one JSP
>running at a special situation causes tomcat leak?

Can you correlate your access log (assuming it's enabled: if not, enable
it) to the increase in memory usage>  Maybe it will show one particular
page being requested when the memory spikes up.

Yoav Shapira http://www.yoavshapira.com




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: OutOfMemory! Tomcat meets sudden spikes of used memory sometimes.

2004-12-08 Thread Li Zhenxing
On Wed, 8 Dec 2004 09:10:02 -0500, Shapira, Yoav <[EMAIL PROTECTED]> wrote:
> 
> When a "spike" appears "for a long time" it's not a spike: it's the
> steady state.

Yes, it's the steady state. I just aim at the gc figure, the spike.
Maybe this word don't discribes the figure exactly. I am sorry for my
English words.

> 
> Please don't jump to determine it's a memory leak just because more
> memory is used.
 
I think it is a obvious memory leak because the number of request
threads doesn't increase and the app hits just is normal when the
inflexion of gc figure appreas.
The question only is caused by my app, or tomcat.

> 
> So you're setting the heap size to a constant 1250MB.  How can there be
> big jumps all over the place?

It should been given max memory as possible to avoid JVM increases
heap progressively when the server machine only runs tomcat.
I think all heavy load app should set two parameter  equal.

> I bet your app is more likely than Tomcat to have a leak ;)  Simple JSPs
> can cause memory "spikes," as can simple servlets.  DBCP and threads do
> NOT necessarily cause increased memory usage.

It is probably that my app has a leak. I agree. But every JSP has been
visited during four days of system in order. Why to appear spike at
fifth day?
I have 2~3 hundreds JSPs that almost be requested everyday.
Does one JSP has memory leak at a special situation? Or one JSP
running at a special situation causes tomcat leak?
 
> 
> Get a test system, put your app on it, run it with a profiler, and
> simulate load using a test tool of your choice, e.g. JMeter, ab, wget,
> grinder, whatever.  Then see where memory is retained during your
> "spikes."
> 
Thanks for the advice.
and thanks for Dale's suggustion.
I will try to profile heap through -Xrunhprof and other tools.

Li Zhenxing

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



RE: OutOfMemory! Tomcat meets sudden spikes of used memory sometimes.

2004-12-08 Thread Shapira, Yoav

Hi,
Besides what Dale said, which is true, I'd like to point out a couple of
other additional things.


>Those memory spikes appear in my Web application for a long time. The
odd

When a "spike" appears "for a long time" it's not a spike: it's the
steady state.

>This is three pictures of the gc log.
>http://my.sme.cn/jsp/main/memoryleak.png
>http://my.sme.cn/jsp/main/memoryleak2.png
>http://my.sme.cn/jsp/main/memoryleak3.png

Please don't jump to determine it's a memory leak just because more
memory is used.

>I used HPjtune tool to watch the gc log.
>System using windows 2000 server, 2*CPU, 2G memory, JSDK 1.4.2_05,
tomcat
>4.1.31, And
>set -Xms1250m -Xmx1250m -server -XX:+UseParallelGC -
>Xloggc:D:\tomcat\logs\gc.log

So you're setting the heap size to a constant 1250MB.  How can there be
big jumps all over the place?

>At first, I doubt if my app program has memory leak. But the
application
>only runs by JSPs and javabeans.(I abandon using DBCP pool and any
thread
>operation because of the memory leak.) I think simple JSPs can't cause
the
>memory spike. I have a monitor.jsp to show my application status.
>http://my.sme.cn/jsp/main/monitor.jsp

I bet your app is more likely than Tomcat to have a leak ;)  Simple JSPs
can cause memory "spikes," as can simple servlets.  DBCP and threads do
NOT necessarily cause increased memory usage.

>The WebSite uses normally below 100M memory heap through my
monitor.jsp. It
>can run a few days, or a few hours before the spike appears. It is
>irregular. I read the access_log and want to find answer. But I can't
find
>any clue.

Perhaps it's high load causing the spike?  That would be normal and
expected.

>The WebSite's hits is more than 200,000 per day. I try to use
OptimizeIt 6
>profile to watch memory status, but OptimizeIt always exits after runs
2~3
>hours. I guess this program maybe need using progressive memory of
system
>to
>log things and analyze those when I notice Optimizeit used 1.6G system
>memory.(and OptimizeIt 6 profile only runs under tomcat 4.1.*! So I
return
>to tomcat 4.1.31)

Yes, OptimizeIt, like other profilers, can routinely use an order of
magnitude more memory than your app itself.

>I don't know how to cause the thing and how to find solution. Any
>suggestion
>is appreciated. Thanks.

Get a test system, put your app on it, run it with a profiler, and
simulate load using a test tool of your choice, e.g. JMeter, ab, wget,
grinder, whatever.  Then see where memory is retained during your
"spikes."

Yoav Shapira http://www.yoavshapira.com




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: OutOfMemory! Tomcat meets sudden spikes of used memory sometimes.

2004-12-08 Thread Dale, Matt

The fact that you have the same symptons in tomcat 4 and in 5 points towards 
your application as being the culprit.

Is there any reason why you chose tomcat 5.0.18 instead of one of the many 
newer releases?

I would find another profiler that works with both and try your tests again.

Ta
Matt

-Original Message-
From: Li Zhenxing [mailto:[EMAIL PROTECTED]
Sent: 08 December 2004 13:47
To: [EMAIL PROTECTED]
Subject: OutOfMemory! Tomcat meets sudden spikes of used memory
sometimes.


Hi folks,
I am puzzled by the situation that Tomcat 4.1.31 meets sudden spikes of used
memory sometimes. Then it will increase to throw OutOfMemory Exception and
tomcat is hanging.

Those memory spikes appear in my Web application for a long time. The odd
thing is that it does not seem to progressively go up but rather spike up
with each next full GC will clean less objects out.

This is three pictures of the gc log.
http://my.sme.cn/jsp/main/memoryleak.png
http://my.sme.cn/jsp/main/memoryleak2.png
http://my.sme.cn/jsp/main/memoryleak3.png
I used HPjtune tool to watch the gc log.
System using windows 2000 server, 2*CPU, 2G memory, JSDK 1.4.2_05, tomcat
4.1.31, And
set -Xms1250m -Xmx1250m -server -XX:+UseParallelGC -Xloggc:D:\tomcat\logs\gc.log

At first, I doubt if my app program has memory leak. But the application
only runs by JSPs and javabeans.(I abandon using DBCP pool and any thread
operation because of the memory leak.) I think simple JSPs can't cause the
memory spike. I have a monitor.jsp to show my application status.
http://my.sme.cn/jsp/main/monitor.jsp

The WebSite uses normally below 100M memory heap through my monitor.jsp. It
can run a few days, or a few hours before the spike appears. It is
irregular. I read the access_log and want to find answer. But I can't find
any clue.

Then, I think tomcat 4.1.* has some bugs causing the memory leak. I upgraded
my application to tomcat 5.0.18, but I met same thing.

The WebSite's hits is more than 200,000 per day. I try to use OptimizeIt 6
profile to watch memory status, but OptimizeIt always exits after runs 2~3
hours. I guess this program maybe need using progressive memory of system to
log things and analyze those when I notice Optimizeit used 1.6G system
memory.(and OptimizeIt 6 profile only runs under tomcat 4.1.*! So I return
to tomcat 4.1.31)

I don't know how to cause the thing and how to find solution. Any suggestion
is appreciated. Thanks.

Li Zhenxing

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

Any opinions expressed in this E-mail may be those of the individual and not 
necessarily the company. This E-mail and any files transmitted with it are 
confidential and solely for the use of the intended recipient. If you are not 
the intended recipient or the person responsible for delivering to the intended 
recipient, be advised that you have received this E-mail in error and that any 
use or copying is strictly prohibited. If you have received this E-mail in 
error please notify the beCogent postmaster at [EMAIL PROTECTED]
Unless expressly stated, opinions in this email are those of the individual 
sender and not beCogent Ltd. You must take full responsibility for virus 
checking this email and any attachments.
Please note that the content of this email or any of its attachments may 
contain data that falls within the scope of the Data Protection Acts and that 
you must ensure that any handling or processing of such data by you is fully 
compliant with the terms and provisions of the Data Protection Act 1984 and 
1998.


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