how to know jvm is stopping the world?
fancyerii at gmail.com
Mon Dec 12 03:50:23 UTC 2011
That's two things.
I am also trying to tune gc parameters to reduce pause time.
but the pause is inevitable. So I think this feature is useful. That's why
.net provide one.
Recalling why we use CMS instead of Paralleling old gc.
as for throughput, ParallelOldGC is better than CMS. But the pause time is
worse. in many applications, pause means no service available and
if there is such an api, we can do this:
we usually have load balance node which dispatch requests to nodes doing
something interesting. before sending request to a node, dispatching node
will ask whether jvm is busy(doing full gc, stw). if it is, then send
requests to other nodes.
Then we can use throughput optimized gc in these nodes with
high throughput. The overall performance may be better than using CMS
collector because there are many overheads in order to achieve small pause
On Mon, Dec 12, 2011 at 12:32 AM, Simone Bordet <sbordet at intalio.com> wrote:
> On Sun, Dec 11, 2011 at 07:31, Li Li <fancyerii at gmail.com> wrote:
> > hi,
> > In our application of full text searching with lucene and solr. we
> > give jvm about 25GB memory. we use CMS as old generation garbage
> > But the jvm sometimes can't do anything. So our clients complain that the
> > connection is time out. we find the reason is the jvm is doing full gc
> > it will stop service for about 1-3 seconds.
> > I know that this situation is inevitable when using CMS collector.
> > we have more than one searching machines, so if I know jvm is doing full
> > gc(specially stop the world), I can send requests to other machines. But
> > question now is that jvm don't provide an api for that.
> I think that the hotspot-gc-use is a better mailing list for these
> kind of questions.
> Having said that, I think your approach is too naive.
> If you have a 10s STW, then you cannot "send request to other
> machines" because the world is - indeed - stopped.
> There is no use for providing the API that you suggest; you should
> instead tune your GC until you get rid of long STW pauses.
> Finally, no matter how good the architecture and design are,
> to deliver bug-free software with optimal performance and reliability,
> the implementation technique must be flawless. Victoria Livschitz
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-gc-dev