You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "zhaoyunjiong (JIRA)" <ji...@apache.org> on 2013/07/02 09:09:23 UTC

[jira] [Created] (MAPREDUCE-5368) Save memory by set capacity, load factor and concurrency level for ConcurrentHashMap in TaskInProgress

zhaoyunjiong created MAPREDUCE-5368:
---------------------------------------

             Summary: Save memory by  set capacity, load factor and concurrency level for ConcurrentHashMap in TaskInProgress
                 Key: MAPREDUCE-5368
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5368
             Project: Hadoop Map/Reduce
          Issue Type: Improvement
          Components: mrv1
    Affects Versions: 1.2.0
            Reporter: zhaoyunjiong
             Fix For: 1.2.1


Below is histo from our JobTracker:

 num     #instances         #bytes  class name
----------------------------------------------
   1:     136048824    11347237456  [C
   2:     124156992     5959535616  java.util.concurrent.locks.ReentrantLock$NonfairSync
   3:     124156973     5959534704  java.util.concurrent.ConcurrentHashMap$Segment
   4:     135887753     5435510120  java.lang.String
   5:     124213692     3975044400  [Ljava.util.concurrent.ConcurrentHashMap$HashEntry;
   6:      63777311     3061310928  java.util.HashMap$Entry
   7:      35038252     2803060160  java.util.TreeMap
   8:      16921110     2712480072  [Ljava.util.HashMap$Entry;
   9:       4803617     2420449192  [Ljava.lang.Object;
  10:      50392816     2015712640  org.apache.hadoop.mapred.Counters$Counter
  11:       7775438     1181866576  [Ljava.util.concurrent.ConcurrentHashMap$Segment;
  12:       3882847     1118259936  org.apache.hadoop.mapred.TaskInProgress


ConcurrentHashMap takes more than 14G(5959535616 + 5959534704 + 3975044400).
The trouble maker are below codes in TaskInProgress.java:
  Map<TaskAttemptID, Locality> taskLocality = 
      new ConcurrentHashMap<TaskAttemptID, Locality>();
  Map<TaskAttemptID, Avataar> taskAvataar = 
      new ConcurrentHashMap<TaskAttemptID, Avataar>();


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira