Newer versions of Java (1.3 and 1.2.2) have different GC algorithms that might
also aid in the clean-up process.

JK


"Courtney, James" wrote:

> Actually, setting a Java object to null (assuming that there are no other
> references to that object) is the normal way of telling the VM that the
> object may be garbage collected.  The garbage collection takes place
> asynchronously however and at the discretion of the VM in a background
> thread.  The act of deleting all references to an object does not free the
> memory associated with the object until the garbage collector cleans up the
> object.
> -Jamey
>
> -----Original Message-----
> From: Jurrius, Mark [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, May 03, 2001 7:43 AM
> To: [EMAIL PROTECTED]
> Subject: RE: Memory usage
>
> Correct me if I'm wrong.  If for instance I want a bean removed knowing that
> System.gc() does not happen immediately, would setting the bean equal to
> null force the bean to be removed from memory right away and not have to
> rely on the garbage collection to eventually take place?
>
> Mark
>
> -----Original Message-----
> From:   William Kaufman [mailto:[EMAIL PROTECTED]]
> Sent:   Thursday, May 03, 2001 10:07 AM
> To:     '[EMAIL PROTECTED]'
> Subject:        RE: Memory usage
>
> > That your finalize method is called, doesn't mean that
> > the garbage collector has released your objects. The
> > only way to be shure that this happens, is to explicitly
> > run System.gc().
>
> Even that's not sufficient: it just suggests to the VM that
> garbage-collecting might be a good idea right now.  Any actual garbage
> collection would take place later, in another thread.
>
> And, even when it does happen, that doesn't mean all the memory will
> necessarily be released to the OS: the VM will hold on to some so that it
> won't need to go back to the OS on the next allocation.
>
> You might want to get a memory profiler (like JProbe) and see where the
> memory is going.  At the very least, try doing something like,
>
>         Runtime rt = Runtime.getRuntime();
>         System.err.println("Free="+rt.freeMemory()+",
> total="+rt.totalMemory());
>
> often, to see how much memory is actually in use, and how much is just
> allocated from the OS.
>
>                                                             -- Bill K.
>
> > -----Original Message-----
> > From: Ralph Einfeldt [mailto:[EMAIL PROTECTED]]
> > Sent: Thursday, May 03, 2001 5:51 AM
> > To: '[EMAIL PROTECTED]'
> > Subject: AW: Memory usage
> >
> >
> > That your finalize method is called, doesn't mean that
> > the garbage collector has released your objects. The
> > only way to be shure that this happens, is to explicitly
> > run System.gc(). Otherwise it's up to the VM when it will
> > free the memory. (Sun's JDK per default only releases
> > memory if otherwise an OutOfMemoryError would occur, so
> > unless you reach this border the VM will constanly grow)
> >
> > See also the options for the JVM:
> >   -verbose:gc (Any VM)
> >   -Xincgc (Sun SDK 1.3.*)
> >   -Xms (Sun + IBM)
> >   -Xmx (Sun + IBM)
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Garry De Toffoli [mailto:[EMAIL PROTECTED]]
> > Gesendet: Donnerstag, 3. Mai 2001 14:34
> > An: [EMAIL PROTECTED]
> > Betreff: Memory usage
> >
> > <snip/>
> > I have in trouble with the memory usage with Tomcat 3.21, WinNt 2000
> > and Jdk 1.3 of Sun. the problem is that any operation does
> > not release
> > the memory occuped; to control the memory usage I use the
> > Task Manager;
> > when Tomcat start, the memory used from the process Java is of 9608 K;
> > when I request a Jsp page that has an error, like a variable
> > not declared,
> > the memory used is 11868K; if I wait for 1 ay also, this
> > value does not
> > change, so the memory used is not released,
> >
> > running a correct Jsp page, the memory used increase, and this is not
> > released yet;
> > I have written a log on the finalize method of my class, and this is
> > called, so the garbage collector release all my object.
> >
> > This behavoir is normal?
> > Probably changing the version of Tomcat this problem may be corrected.
> > <snip/>
> >

Reply via email to