소스 검색

HDFS-850. The WebUI displays more details about namenode memory usage.
(Dmytro Molkov via dhruba)



git-svn-id: https://svn.apache.org/repos/asf/hadoop/hdfs/trunk@921697 13f79535-47bb-0310-9956-ffa450edef68

Dhruba Borthakur 15 년 전
부모
커밋
67e83f2be8
2개의 변경된 파일21개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 0
      CHANGES.txt
  2. 18 3
      src/java/org/apache/hadoop/hdfs/server/namenode/NamenodeJspHelper.java

+ 3 - 0
CHANGES.txt

@@ -92,6 +92,9 @@ Trunk (unreleased changes)
     HDFS-729. NameNode API to list files that have missing blocks.
     HDFS-729. NameNode API to list files that have missing blocks.
     (Rodrigo Schmidt via dhruba)
     (Rodrigo Schmidt via dhruba)
 
 
+    HDFS-850. The WebUI display more details about namenode memory usage.
+    (Dmytro Molkov via dhruba)
+
   OPTIMIZATIONS
   OPTIMIZATIONS
 
 
     HDFS-946. NameNode should not return full path name when lisitng a
     HDFS-946. NameNode should not return full path name when lisitng a

+ 18 - 3
src/java/org/apache/hadoop/hdfs/server/namenode/NamenodeJspHelper.java

@@ -68,8 +68,15 @@ class NamenodeJspHelper {
     MemoryUsage heap = mem.getHeapMemoryUsage();
     MemoryUsage heap = mem.getHeapMemoryUsage();
     long totalMemory = heap.getUsed();
     long totalMemory = heap.getUsed();
     long maxMemory = heap.getMax();
     long maxMemory = heap.getMax();
+    long commitedMemory = heap.getCommitted();
+    
+    MemoryUsage nonHeap = mem.getNonHeapMemoryUsage();
+    long totalNonHeap = nonHeap.getUsed();
+    long maxNonHeap = nonHeap.getMax();
+    long commitedNonHeap = nonHeap.getCommitted();
 
 
-    long used = (totalMemory * 100) / maxMemory;
+    long used = (totalMemory * 100) / commitedMemory;
+    long usedNonHeap = (totalNonHeap * 100) / commitedNonHeap;
 
 
     String str = inodes + " files and directories, " + blocks + " blocks = "
     String str = inodes + " files and directories, " + blocks + " blocks = "
         + (inodes + blocks) + " total";
         + (inodes + blocks) + " total";
@@ -77,8 +84,16 @@ class NamenodeJspHelper {
       long pct = ((inodes + blocks) * 100) / maxobjects;
       long pct = ((inodes + blocks) * 100) / maxobjects;
       str += " / " + maxobjects + " (" + pct + "%)";
       str += " / " + maxobjects + " (" + pct + "%)";
     }
     }
-    str += ".  Heap Size is " + StringUtils.byteDesc(totalMemory) + " / "
-        + StringUtils.byteDesc(maxMemory) + " (" + used + "%) <br>";
+    str += ".<br>";
+    str += "Heap Memory used " + StringUtils.byteDesc(totalMemory) + " is "
+        + " " + used + "% of Commited Heap Memory " 
+        + StringUtils.byteDesc(commitedMemory)
+        + ". Max Heap Memory is " + StringUtils.byteDesc(maxMemory) +
+        ". <br>";
+    str += "Non Heap Memory used " + StringUtils.byteDesc(totalNonHeap) + " is"
+        + " " + usedNonHeap + "% of " + " Commited Non Heap Memory "
+        + StringUtils.byteDesc(commitedNonHeap) + ". Max Non Heap Memory is "
+        + StringUtils.byteDesc(maxNonHeap) + ".<br>";
     return str;
     return str;
   }
   }