[freenet-cvs] r19683 - trunk/freenet/src/freenet/store

j16sdiz at freenetproject.org j16sdiz at freenetproject.org
Fri May 2 14:59:50 UTC 2008


Author: j16sdiz
Date: 2008-05-02 14:59:50 +0000 (Fri, 02 May 2008)
New Revision: 19683

Modified:
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
oomhook: lower database cache size


Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java	2008-05-02 14:59:29 UTC (rev 19682)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java	2008-05-02 14:59:50 UTC (rev 19683)
@@ -25,6 +25,7 @@
 import com.sleepycat.je.DatabaseNotFoundException;
 import com.sleepycat.je.Environment;
 import com.sleepycat.je.EnvironmentConfig;
+import com.sleepycat.je.EnvironmentMutableConfig;
 import com.sleepycat.je.LockMode;
 import com.sleepycat.je.OperationStatus;
 import com.sleepycat.je.RunRecoveryException;
@@ -2247,6 +2248,11 @@
 			keysFC.force(true);
 		if (lruFC != null)
 			lruFC.force(true);
+		
+		EnvironmentMutableConfig dbmc = environment.getMutableConfig();
+		long cacheSize = (long) (dbmc.getCacheSize() * .9); // we have 6 databases, 0.9^6 = 0.53
+		dbmc.setCacheSize(cacheSize);
+		Logger.normal(this, "low memory, set db cache = " + cacheSize);
 	}
 
 	public void handleOutOfMemory() throws Exception {




More information about the cvs mailing list