RE: JDOM output buffering question

"Gamble, Wesley (WG10)" <[email protected]>
Newsgroups gmane.comp.java.jdom.general
Message-ID <[email protected]>
FYI, I'm on JRE 1.3.1_09.

After reviewing the verbose:gc output on my running process, I see that
tiny amounts of memory are being reclaimed multiple times/sec., but when
I complete generating my JDOM document and writing it out, I do not see
the big drop in heap size that I would expect.  There must be something
I'm holding onto that I don't realize.

One question - is GC really happening once for each "[GC.." output line
in the verbose output?  It looks like it's happening many times/second.

Wes

-----Original Message-----
From: Rolf Lear [mailto:[email protected]] 
Sent: Monday, January 21, 2008 1:14 PM
To: Gamble, Wesley (WG10)
Cc: [email protected]
Subject: Re: [jdom-interest] JDOM output buffering question

JVM's are typically reluctant to release memory back to the OS. A better

way to monitor the actual memory usage (in your case) is to turn on the 
-verbose:gc commandline-option (or better, the -verbose:gc 
-XX:PrintGCTimeStamps) to your Java process. This will track your memory

usage better, and tell you how much memory gets cleaned up from 
no-longer-referenced Java classes (Garbage Collected).

May I suggest the following reading material:
http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepap
er.pdf

Once Java requests memory from the OS, it is very unlikely to give it 
back. Whether it gets used (again) or not. Tracking memory from the OS 
perspective gives you no indication as to whether objects are GC's or
not.

Another Alternative is to generate a Full heap dump from your JVM (Press

Ctrl-ScrollLock in Windows, and Ctrl-\ on Unix (or kill-3 <pid>).

Rolf

Gamble, Wesley (WG10) wrote:
> I'm watching the memory for the Java process in the Windows task
> manager.
>
> -----Original Message-----
> From: Rolf Lear [mailto:[email protected]] 
> Sent: Tuesday, January 15, 2008 6:41 PM
> To: Gamble, Wesley (WG10)
> Cc: [email protected]
> Subject: Re: [jdom-interest] JDOM output buffering question
>
> Gamble, Wesley (WG10) wrote:
>   
>> I put a finalize method on the object that holds the SAXBuilder as an

>> instance variable, and set the SAXBuilder to null, and no memory is 
>> released.
>>
>> The descendant of the JDOM Document gets garbage collected, and I'm 
>> assuming the SAXBuilder will get garbage collected, but my memory is 
>> still way high.
>>
>> Can anyone think of any ways that resources could still be held on to

>> in this scenario. Perhaps my leak is not in JDOM.
>>
>> Thanks,
>>
>> Wes
>>
>>
>>     
>
------------------------------------------------------------------------
>   
>> _______________________________________________
>> To control your jdom-interest membership:
>>
>>     
>
http://www.jdom.org/mailman/options/jdom-interest/[email protected]
> How are you measuring your memory usage?
>
> Rolf
>
>   



_______________________________________________
To control your jdom-interest membership:
http://www.jdom.org/mailman/options/jdom-interest/[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.