<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
It depends on how long the object lives.  If it’s still being used after a certain number of garbage collection cycles, it gets moved to tenured space, and will never be garbage collected until the tenured space is full, i.e. you’ve used everything you gave
 Java with -Xmx.  OK, it’s not a real memory leak, but it causes the java application to use more memory than it needs to.
<div class=""><br class="">
</div>
<div class="">There is a genuine memory leak in the code space that I’ve seen before; some code does something I don’t understand to do with re-allocated classes, and that does cause a genuine memory leak that can never be garbage collected at all.  I don’t
 remember the details though, and never understood it when I did remember them.</div>
<div class=""><br class="">
</div>
<div class="">Tim<br class="">
<div class=""><br class="">
</div>
<div class=""><br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 25 Nov 2020, at 11:51, Jonathan Aquilina <<a href="mailto:jaquilina@eagleeyet.net" class="">jaquilina@eagleeyet.net</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span class="">Tim correct me if I am wrong here.<o:p class=""></o:p></span></div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span class="">Memory is allocated for as long as the object is being called or do you mean the memory is always allocated regardless of the object being in scope and that part of the programme being used or not?<o:p class=""></o:p></span></div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span class="">Regards,<o:p class=""></o:p></span></div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span class="">Jonathan<o:p class=""></o:p></span></div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span class=""><o:p class=""> </o:p></span></div>
<div class="">
<div style="border-style: solid none none; border-top-width: 1pt; border-top-color: rgb(225, 225, 225); padding: 3pt 0cm 0cm;" class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<b class=""><span lang="EN-US" class="">From:</span></b><span lang="EN-US" class=""><span class="Apple-converted-space"> </span>Beowulf <<a href="mailto:beowulf-bounces@beowulf.org" class="">beowulf-bounces@beowulf.org</a>><span class="Apple-converted-space"> </span><b class="">On
 Behalf Of<span class="Apple-converted-space"> </span></b>Tim Cutts<br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>25 November 2020 12:40<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span>Prentice Bisbal <<a href="mailto:pbisbal@pppl.gov" class="">pbisbal@pppl.gov</a>><br class="">
<b class="">Cc:</b><span class="Apple-converted-space"> </span>Beowulf <<a href="mailto:beowulf@beowulf.org" class="">beowulf@beowulf.org</a>><br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [Beowulf] [External] Re: Clustering vs Hadoop/spark [EXT]<o:p class=""></o:p></span></div>
</div>
</div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
Except of course, you do really.  Java applications can end up with huge memory leaks because the programmers really need to understand the mechanism when objects get moved from Eden and Survivor space into Tenured space.<o:p class=""></o:p></div>
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
</div>
<div class="">
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
Tenured space never decreases, so every object which ends up there is allocated memory for the life of the process.  If that was actually an ephemeral object, tough, you’ve lost the memory.<o:p class=""></o:p></div>
</div>
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
</div>
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
So ideally, the programmer needs to understand the size of their pile of ephemeral objects and make sure the Eden/Survivor spaces are large enough, otherwise they will have a memory leak.  If they make the ephemeral spaces too large, though, garbage collection
 takes more time and performance decreases, so it’s a balance.<o:p class=""></o:p></div>
</div>
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
</div>
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
I’m not sure you can ever actually really get rid of the need to understand memory allocation… you just push the problem around!<o:p class=""></o:p></div>
</div>
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
</div>
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
Tim<o:p class=""></o:p></div>
</div>
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
</div>
<div class="">
<blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="">
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
On 24 Nov 2020, at 18:32, Prentice Bisbal via Beowulf <<a href="mailto:beowulf@beowulf.org" style="color: blue; text-decoration: underline;" class="">beowulf@beowulf.org</a>> wrote:<o:p class=""></o:p></div>
</div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div class="">
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-size: 9pt; font-family: Helvetica, sans-serif;" class="">Also, with Java, you don't have to worry about low-level issues like freeing and allocating memory and doing pointer arithmetic. Not having to worry about those low-level issues allows
 a student to focus more on the programming concepts. I knew I screw up dereferencing pointers A LOT when learning C and C++</span><o:p class=""></o:p></div>
</div>
</blockquote>
</div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
</div>
<div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
-- The Wellcome Sanger Institute is operated by Genome Research Limited, a charity registered in England with number 1021457 and a company registered in England with number 2742969, whose registered office is 215 Euston Road, London, NW1 2BE.<span class="Apple-converted-space"> </span></div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>



-- 
 The Wellcome Sanger Institute is operated by Genome Research 
 Limited, a charity registered in England with number 1021457 and a 
 company registered in England with number 2742969, whose registered 
 office is 215 Euston Road, London, NW1 2BE. 

</body>
</html>