This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Garbage collector stopping my world for half a second


Could you remind me what your platform is?

For a modern PC, with a heap size of 8MB, and assuming the root size is
reasonable, 60 msecs should be on the high side.  (The GC time should be
roughly proportional to <live data size> + <root size>.  On a GC_Bench
variant, the marker seems to scan roughly 200-250MB/sec on a single 2
GHz P4 Xeon.  There is a bit of other overhead associated with
collections, but that's the lion's share.)

Unless you're on a very slow processor, the 360msecs seems anomalous to
me.  It would be useful to understand what's going on during that time.
Presumably paging is not an issue?

More generally, the GC provides some support for incremental collection,
but AFAIK that's not really supported by gcj, and hence may take some
effort to get to work for your application.

Hans

> -----Original Message-----
> From: java-owner@gcc.gnu.org [mailto:java-owner@gcc.gnu.org] 
> On Behalf Of Martin Egholm Nielsen
> Sent: Thursday, December 01, 2005 6:28 AM
> To: java@gcc.gnu.org
> Subject: Garbage collector stopping my world for half a second
> 
> 
> Hi there,
> 
> I'm not quite sure if I should take this question to the 
> boehmgc list or 
> to post it here.
> 
> But here I go:
> I've been seeing some unfortunate (In my world) GC timings suddenly 
> halting my application:
> 
> --- 8< 8< 8< ---
> Initiating full world-stop collection 8 after 3861860 allocd bytes
> --> Marking for collection 8 after 3861860 allocd bytes + 
> 235140 wasted
> bytes
> Collection 7 finished ---> heapsize = 8736768 bytes 
> World-stopped marking took 390 msecs
> 
> Complete collection took 420 msecs
> --- 8< 8< 8< ---
> 
> The problem is that I have external hardware connected that 
> "need" being 
> "triggered" from my application with more precision than ~400 
> ms. - more 
> likely ~100 would be good.
> 
> However, I've seen with a smaller test-example that the GC is 
> capable of 
> having stop-timings on my platform of ~60 ms.
> 
> Therefore, I ask: Is there some super GC parameters that can 
> be tuned to 
> bring this world stopping down to a smaller value?
> 
> Best regards,
>   Martin Egholm
> 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]