You can also try incremental garbage collection (-Xincgc).  It is supposed
to be more fine grained garbage collection that runs as an interruptible
background process and significantly reduces pauses.

Rick
----- Original Message -----
From: "Ritesh Saraf" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, October 11, 2002 2:43 PM
Subject: RE: my application pauses


> Hi Shapira,
>
> >I am facing is that my application sometimes kind of pauses and one has
> to
> >wait like few seconds before it moves ahead, BUT if u see that things
> are
>
> Try to enable verbose garbage collection, but adding -verbose:gc to your
> JAVA_OPTS.  Then you'll know when GC runs, and for how long, by looking
> at catalina.out.
>
> ************
> thanks i will try to use this
> ************
>
> >The reasons can be , but I aint sure
> >* I am using a lot of System.out.print for debugging purposes.
>
> This is not the best, nor the most elegant, but it's not likely to slow
> you down.  Make sure you have enough room on the filesystem for
> catalina.out to grow large.
>
> Consider moving a real logging system, e.g. log4j.
> ************
> Actually I am using the logging in jdk1.4 but the console messages
> by the logger is hard to understand i mean it includes lot of extra info
> so i am also using System.out shall remove them later
> ************
>
>
> >* I guess since my applicaion is big too there is a lot of object
>
> How big?
> ************
> about 400 files including the jsp pages
> ***********
>
>
> >generation
> >  and so garbage collection.
>
> It takes a *ton* (where a ton depends on your JVM, OS, threading model,
> etc.) of object creation and a huge JVM for GC to generate long pauses.
> Verbose GC can help debug this.
>
> Try to avoid unnecessary object creation, but you don't need to go nuts
> for this.  It's not likely to be the cause.
> ***********
> I am trying to avoid unnecessary objects but still there could be a 1000
> ***********
>
>
> >* I am trying to use a lot of cache, I store whole rows of table lets
> >say(100)
>
> Once again, how much caching?  What's in your rows of table sets?  How
> big is each set?
>
> *********
> Each row can be say 50 cols of (longs) and (strings <30 chars) can be as
> many as 1500 rows normally there should be 200 rows
> *********
>
> >  to know does it hurt to use cache as best as i can.I am trying to be
> very
> >  performance conscious and so cache things and avoid DB calls.
>
> That's a good practice in general.  As long as you know when you need to
> refresh the cache, e.g. if the DB contents change.
> *************
> yes i am trying to take care of that
> ************
>
>
> >I will appreciate any insight into this problem.
>
> For comparison sake, we have several large applications using servlets
> and JSPs.  They run on tomcat, and use a lot of caching to avoid
> repetitive DB calls and enhance performance.  Our apps use > 1GB heap,
> caches with millions of objects (both millions of keys and millions of
> values), and are very multithreaded.  We used to have GC pause problems
> and spent a lot of time tuning GC parameters (-XX:NewSize, etc.).  Now
> we don't have GC pauses anymore.  We use JDK 1.4.1 on Solaris 8.
>
> And of course, there's always the option that GC has nothing to do with
> your pauses.  Could it be something behavioral in your JSPs or servlets,
> or the way you invoke / chain them?
>
> ******************
> I am using Windows 2000 for now, might port to red hat linux 7.2 later
> yes i have 1-2 level of chaining as i am using MVC
>
> Can you please tell me how to debug such an application(specially) from
the
> point of view my problem of pausing..
> as i am using just system.out and it is very time consuming to debug that
> way
>
> There can be several possible hitches in the application as big as this
> but thing intriguing is why does the application keep continuing as soon
> as i hit any key (possibly an interrupt). Could you guess what can be a
> possible cause here.
>
> a case of pausing can be lets say i login i make a session object for the
> user
> then i leave it opened eat a sandwitch and try doing something often in
such
> cases i am paused (i invalidate session on logouts ) so when i logout
after
> some time it will just pause. and i have to hit the the key. So far i am
not
> doing any multi threading
> ******************
>
>
>
> Yoav Shapira
> Millennium ChemInformatics
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>
>


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

Reply via email to