Author: zothar
Date: 2006-07-14 16:17:24 +0000 (Fri, 14 Jul 2006)
New Revision: 9600
Modified:
trunk/freenet/src/freenet/node/MemoryChecker.java
Log:
Time and summarize garbage collection in MemoryChecker.
Modified: trunk/freenet/src/freenet/node/MemoryChecker.java
===================================================================
--- trunk/freenet/src/freenet/node/MemoryChecker.java 2006-07-14 15:39:03 UTC
(rev 9599)
+++ trunk/freenet/src/freenet/node/MemoryChecker.java 2006-07-14 16:17:24 UTC
(rev 9600)
@@ -31,11 +31,16 @@
// memory usage *more predictable*. This will make
// tracking down the sort of nasty unpredictable OOMs
// we are getting much easier.
- if(Node.aggressiveGCModificator > 0){
- Logger.minor(this, "Memory in use before GC:
"+(r.totalMemory()-r.freeMemory()));
+ if(Node.aggressiveGCModificator > 0) {
+ long beforeGCUsedMemory =
(r.totalMemory()-r.freeMemory());
+ Logger.minor(this, "Memory in use before GC:
"+beforeGCUsedMemory);
+ long beforeGCTime = System.currentTimeMillis();
System.gc();
System.runFinalization();
- Logger.minor(this, "Memory in use after GC:
"+(r.totalMemory()-r.freeMemory()));
+ long afterGCTime = System.currentTimeMillis();
+ long afterGCUsedMemory =
(r.totalMemory()-r.freeMemory());
+ Logger.minor(this, "Memory in use after GC:
"+afterGCUsedMemory);
+ Logger.minor(this, "GC completed after
"+(afterGCTime - beforeGCTime)+"ms and \"recovered\" "+(beforeGCUsedMemory -
afterGCUsedMemory)+" bytes, leaving "+afterGCUsedMemory+" bytes used");
}
}
}