You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-dev@hadoop.apache.org by "Misha Dmitriev (JIRA)" <ji...@apache.org> on 2017/10/09 19:37:00 UTC
[jira] [Created] (YARN-7302) Configuration.updatingResource map
should be initialized lazily
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-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-dev-help@hadoop.apache.org