[jdom-interest] JDOM output buffering question
Rolf Lear
jdom at tuis.net
Mon Jan 21 14:47:56 PST 2008
Yes, GC really happens each time ....
As for your un-released memory, make sure you close and de-reference all
Streams and Readers/Writers, as well as all set all referenced JDom
objects to null.
Rolf
Gamble, Wesley (WG10) wrote:
> 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:jdom at tuis.net]
> Sent: Monday, January 21, 2008 1:14 PM
> To: Gamble, Wesley (WG10)
> Cc: jdom-interest at jdom.org
> 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:jdom at tuis.net]
>> Sent: Tuesday, January 15, 2008 6:41 PM
>> To: Gamble, Wesley (WG10)
>> Cc: jdom-interest at jdom.org
>> 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/youraddr@yourhost.com
>
>> How are you measuring your memory usage?
>>
>> Rolf
>>
>>
>>
>
>
>
More information about the jdom-interest
mailing list