In general true and that's what the spec says,

but we had once following experience with a version 
of a jvm (can't recall which):

  The vm was not able to perform the gc if an out of 
  memory occured, even if enough free objects where 
  there to free quite some memory. (Obviously the gc 
  didn't start at a treshhold but only when the 
  memory was full, and couldn't  get the memory it 
  needed to perform the task)

  The problem vanished when we started to call
  gc() on a regular base. the call to gc() had 
  some effect. (Runtime.freeMemory() grew
  after each call to gc()) This indicated, that 
  (with that specific vm) the call to gc() did 
  something.

> -----Original Message-----
> From: Shapira, Yoav [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, January 14, 2004 3:43 PM
> To: Tomcat Users List
> Subject: RE: Memory Leaks
> 
> 
> This is a common misconception: System.gc() is merely a suggestion to
> the VM to run collection.  The VM is not obliged to run it then, i.e.
> this is not a hard directive.  It should never be relied 
> upon.  With JDK
> 1.4, there's a runtime parameter to ignore System.gc() calls and that
> parameter may be on by default in the future.
> 

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

Reply via email to