[
https://issues.apache.org/jira/browse/HADOOP-803?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Raghu Angadi updated HADOOP-803:
--------------------------------
Attachment: NameNodeMemoryHogs.txt
see attached NameNodeMemoryHogs.txt for better formated list. Following is
cut-n-paste of the attachment.
Main FS wide datastructures :
-----------------------------
blockMap : block --> containing nodes : HashMap
activeBLocks : block --> INode : HashMap
INode.children : FileName --> INode : TreeMap (in dir INode).
DN.blocks : block --> self : TreeMap ( in each DataNodeDescriptor )
datanodeMap : String --> DatanodeDescriptor ( linear cost with
number of dataNodes )
Memory cost per Block :
----------------------
Before this patch :
Block Objects : 3 ( one per replica in DN.blocks)
1 ( in blockMap )
1 ( in INode );
TreeMap : 1 ( containingNode TreeSet )
TreeMap$Entry : 3 ( conatiningNodes TreeSet in blockMap )
3 ( in DN.blocks in each of the nodes )
HashMap$Entry : 1 ( blockMap )
1 ( activeBlocks )
After this patch :
Block Objects : 1 ( in blockMap )
1 ( in INode that existed before NameNode restarted )
ArrayList : 1 ( containingNodes Arraylist )
TreeMap$Entry : 3 ( in DN.blocks in each of the nodes )
HashMap$Entry : 1 ( blockMap )
1 ( activeBlocks )
Memory cost per INode :
----------------------
TreeMap : 1 ( children. removed in this issue for regular files )
TreeMap$Entry : 1 ( in parent.children )
INode object : 1
char[128] : 1 (char[] used in String)
String : 1 ( name )
> Reducing memory consumption on Namenode : Part 1
> ------------------------------------------------
>
> Key: HADOOP-803
> URL: https://issues.apache.org/jira/browse/HADOOP-803
> Project: Hadoop
> Issue Type: Bug
> Components: dfs
> Reporter: Raghu Angadi
> Assigned To: Raghu Angadi
> Fix For: 0.11.0
>
> Attachments: block-refs-2.patch, block-refs-3.patch,
> block-refs-5.patch, HADOOP-803-2.patch, HADOOP-803.patch, HADOOP-803_3.patch,
> NameNodeMemoryHogs.txt
>
>
> There appears to be some places in Namenode that allow reducing memory
> consumption without intrusive code or feature changes. This bug is an initial
> attempt making those changes. Please include your thoughts as well.
> One change I am planning to make :
> Currently one copy of each block exists for each of the replicas and one copy
> for blockMap. I think they are all supposed to be same.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.