harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leo Li" <liyilei1...@gmail.com>
Subject Re: [General VM] GC strategy:how to garbage collect short-lived objects quickly.
Date Thu, 14 Sep 2006 08:18:12 GMT

On 14 Sep 2006 12:30:49 +0700, Egor Pasko <egor.pasko@gmail.com> wrote:
> On the 0x1E4 day of Apache Harmony Leo Li wrote:
> > Hi,all:
> >     As we all know, java objects are allocated on heap instead of stack,
> > thus there is a problem about how to garbage collect short-lived objects
> > quickly.
> >     In a recent real project I involved, a server built on java tries to
> > send thousands of messages to client per second. A lot of short-lived
> > messages is created as objects and discarded. (Although I can recycle
> these
> > memory, there is still a byte array created during per call of nio read
> and
> > write.) Since current GC strategy adopted by current RI starts to work
> only
> > when the memory allocated approaching the limit of java heap, the work
> of GC
> > is huge and will raise a wave on the server performance. Furthermore,
> after
> > a long run, although I know GC will merge memory, the operating system
> > reports there is memory fragment and in the worst case the OS will even
> > report real memory is exhausted.
> >     Of course it is possible to limit the java heap so as to force gc
> > frequently as a workround, is it preferrable to collect short-lived
> objects
> > quickly such as adopt aged-related object queues as one of the gc
> strategy?
> what about forcing gc by hand? does it help?

 Forcing gc by hand does work, but it is difficult for code to know when to
call gc.So I think it is better if VM can give some support since it knows
the global situation.:)

>    What about the VMs here, drlvm or J9?
> In a DRLVM JIT (Jitrino.OPT) there is an escape analysis prototype. It
> detects objects that can be allocated on stack (and, hence, on
> registers). Currently, it is switched off by default, and, when
> enabled, it just marks the objects that are not escaped. This info is
> never used in Jitrino.OPT yet. Sometimes, escape analyzers help, but
> not very much :)

It will be great if JIT can help to allocation objects on stack.

DRLVM GC gurus will say more ;)
> --
> Egor Pasko, Intel Managed Runtime Division
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org

Leo Li
China Software Development Lab, IBM

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message