www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - GC greediness

reply Jack Applegame <japplegame gmail.com> writes:
On a server with 4GB of RAM our D application consumes about 1GB.
Today we have increased server memory to 6 Gb and the same 
application under the same conditions began to consume about 3Gb 
of memory.
Does GC greediness depend on available RAM?
Jan 05
parent reply Justin Whear <justin economicmodeling.com> writes:
On Tue, 05 Jan 2016 16:07:36 +0000, Jack Applegame wrote:

 On a server with 4GB of RAM our D application consumes about 1GB.
 Today we have increased server memory to 6 Gb and the same application
 under the same conditions began to consume about 3Gb of memory.
 Does GC greediness depend on available RAM?
My understanding is that the GC won't return collected memory to the OS unless a threshold relative the system total is crossed. You can use GC.minimize() from core.memory to decrease this. This could result in degraded performance.
Jan 05
parent Gary Willoughby <dev nomad.so> writes:
On Tuesday, 5 January 2016 at 17:20:07 UTC, Justin Whear wrote:
 On Tue, 05 Jan 2016 16:07:36 +0000, Jack Applegame wrote:

 On a server with 4GB of RAM our D application consumes about 
 1GB.
 Today we have increased server memory to 6 Gb and the same 
 application
 under the same conditions began to consume about 3Gb of memory.
 Does GC greediness depend on available RAM?
My understanding is that the GC won't return collected memory to the OS unless a threshold relative the system total is crossed. You can use GC.minimize() from core.memory to decrease this. This could result in degraded performance.
Also see: https://dlang.org/spec/garbage.html
Jan 05