Misha Dmitriev created YARN-7302:
------------------------------------

             Summary: Configuration.updatingResource map should be initialized 
lazily
                 Key: YARN-7302
                 URL: https://issues.apache.org/jira/browse/YARN-7302
             Project: Hadoop YARN
          Issue Type: Improvement
            Reporter: Misha Dmitriev


Using jxray (www.jxray.com), I've analyzed a heap dump of YARN RM running in a 
big cluster. The tool uncovered several inefficiencies in the RM memory. It 
turns out that one of the biggest sources of memory waste, responsible for 
almost 1/4 of used memory, is empty ConcurrentHashMap instances in 
org.apache.hadoop.conf.Configuration.updatingResource:

{code}
905,551K (24.0%): java.util.concurrent.ConcurrentHashMap: 22118 / 100% of empty 
905,551K (24.0%)
↖org.apache.hadoop.conf.Configuration.updatingResource
↖{j.u.WeakHashMap}.keys
↖Java Static org.apache.hadoop.conf.Configuration.REGISTRY
{code}

That is, there are 22118 empty ConcurrentHashMaps here, and they collectively 
waste ~905MB of memory. This is caused by eager initialization of these maps. 
To address this problem, we should initialize them lazily.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to