[GHC] #14702: Runtime is keeping hold to too much memory
GHC
ghc-devs at haskell.org
Mon Jan 22 18:46:43 UTC 2018
#14702: Runtime is keeping hold to too much memory
-------------------------------------+-------------------------------------
Reporter: blaze | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Runtime | Version: 8.2.2
System |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Other
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Currently runtime only releases memory to OS when it has more than 4x of
the amount used. This leads to heavy memory overuse when process is run
using many processes and large nurseries. For example, if process is run
on 16 CPUs with each having 32MB nursery, it will use total 512MB
allocation area. This will push "release boundary" to the 2GB. If process
is ever to allocate that much memory for a short term use, it will never
be given back to OS and effectively wasted.
Nursery and other non-growing data areas should be excluded from this
multiplier. Runtime should only keep an extra memory proportional to heap
allocation.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14702>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list