[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