Author: nextgens
Date: 2006-05-26 11:59:52 +0000 (Fri, 26 May 2006)
New Revision: 8876

Added:
   trunk/freenet/src/freenet/node/MemoryChecker.java
Modified:
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/NodeStarter.java
Log:
Reenable the MemoryChecker thread to see if it helps with the deadlocking issues

Added: trunk/freenet/src/freenet/node/MemoryChecker.java
===================================================================
--- trunk/freenet/src/freenet/node/MemoryChecker.java   2006-05-26 02:21:12 UTC 
(rev 8875)
+++ trunk/freenet/src/freenet/node/MemoryChecker.java   2006-05-26 11:59:52 UTC 
(rev 8876)
@@ -0,0 +1,36 @@
+package freenet.node;
+
+import freenet.support.Logger;
+
+public class MemoryChecker implements Runnable {
+       
+       public void run() {
+               Runtime r = Runtime.getRuntime();
+               while(true) {
+                       for(int i=0;i<120;i++) {
+                               try {
+                                       Thread.sleep(250);
+                               } catch (InterruptedException e) {
+                                       // Ignore
+                               }
+                               Logger.minor(this, "Memory in use: 
"+(r.totalMemory()-r.freeMemory()));
+                       }
+                       try {
+                               Thread.sleep(250);
+                       } catch (InterruptedException e) {
+                               // Ignore
+                       }
+                       // FIXME
+                       // Do not remove until all known memory issues fixed,
+                       // Especially #66
+                       // This probably reduces performance, but it makes
+                       // memory usage *more predictable*. This will make
+                       // tracking down the sort of nasty unpredictable OOMs
+                       // we are getting much easier. 
+                       Logger.minor(this, "Memory in use before GC: 
"+(r.totalMemory()-r.freeMemory()));
+                       System.gc();
+                       System.runFinalization();
+                       Logger.minor(this, "Memory in use after GC: 
"+(r.totalMemory()-r.freeMemory()));
+               }
+       }
+}
\ No newline at end of file

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2006-05-26 02:21:12 UTC (rev 
8875)
+++ trunk/freenet/src/freenet/node/Node.java    2006-05-26 11:59:52 UTC (rev 
8876)
@@ -2432,39 +2432,6 @@
                return new HighLevelSimpleClientImpl(this, archiveManager, 
tempBucketFactory, random, !DONT_CACHE_LOCAL_REQUESTS, prioClass);
        }

-       private static class MemoryChecker implements Runnable {
-
-               public void run() {
-                       Runtime r = Runtime.getRuntime();
-                       while(true) {
-                               for(int i=0;i<120;i++) {
-                                       try {
-                                               Thread.sleep(250);
-                                       } catch (InterruptedException e) {
-                                               // Ignore
-                                       }
-                                       Logger.minor(this, "Memory in use: 
"+(r.totalMemory()-r.freeMemory()));
-                               }
-                               try {
-                                       Thread.sleep(250);
-                               } catch (InterruptedException e) {
-                                       // Ignore
-                               }
-                               // FIXME
-                               // Do not remove until all known memory issues 
fixed,
-                               // Especially #66
-                               // This probably reduces performance, but it 
makes
-                               // memory usage *more predictable*. This will 
make
-                               // tracking down the sort of nasty 
unpredictable OOMs
-                               // we are getting much easier. 
-                               Logger.minor(this, "Memory in use before GC: 
"+(r.totalMemory()-r.freeMemory()));
-                               System.gc();
-                               System.runFinalization();
-                               Logger.minor(this, "Memory in use after GC: 
"+(r.totalMemory()-r.freeMemory()));
-                       }
-               }
-       }
-
        public BaseRequestThrottle getCHKRequestThrottle() {
                return chkRequestThrottle;
        }

Modified: trunk/freenet/src/freenet/node/NodeStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStarter.java     2006-05-26 02:21:12 UTC 
(rev 8875)
+++ trunk/freenet/src/freenet/node/NodeStarter.java     2006-05-26 11:59:52 UTC 
(rev 8876)
@@ -103,9 +103,11 @@

        // FIXME : maybe we should keep it even if the wrapper does it

-       // Thread t = new Thread(new MemoryChecker(), "Memory checker");
-       // t.setPriority(Thread.MAX_PRIORITY);
-       // t.start();
+       Thread t = new Thread(new MemoryChecker(), "Memory checker");
+       t.setPriority(Thread.MAX_PRIORITY);
+       t.start();
+        
+        
        WrapperManager.signalStarting(500000);
        try {
                node = new Node(cfg, random, logConfigHandler,this);


Reply via email to