diff --git a/source/de/anomic/crawler/ResourceObserver.java b/source/de/anomic/crawler/ResourceObserver.java
index aa8a5c813..be4a1ad4c 100644
--- a/source/de/anomic/crawler/ResourceObserver.java
+++ b/source/de/anomic/crawler/ResourceObserver.java
@@ -63,7 +63,7 @@ public class ResourceObserver {
* checks the resources and pauses crawls if necessary
*/
public void resourceObserverJob() {
- MemoryControl.setDHTkbytes(getMinFreeMemory());
+ MemoryControl.setDHTMbyte(getMinFreeMemory());
normalizedDiskFree = getNormalizedDiskFree();
normalizedMemoryFree = getNormalizedMemoryFree();
@@ -157,7 +157,7 @@ public class ResourceObserver {
}
/**
- * @return amount of space (KiB) that should at least be free
+ * @return amount of space (MiB) that should at least be free
*/
public long getMinFreeMemory() {
return sb.getConfigLong(SwitchboardConstants.MEMORY_ACCEPTDHT, 0);
diff --git a/source/de/anomic/search/SwitchboardConstants.java b/source/de/anomic/search/SwitchboardConstants.java
index bed854bb4..c6bccf169 100644
--- a/source/de/anomic/search/SwitchboardConstants.java
+++ b/source/de/anomic/search/SwitchboardConstants.java
@@ -373,7 +373,7 @@ public final class SwitchboardConstants {
public static final String DISK_FREE = "disk.free";
public static final String DISK_FREE_HARDLIMIT = "disk.free.hardlimit";
- public static final String MEMORY_ACCEPTDHT = "memory.acceptDHT";
+ public static final String MEMORY_ACCEPTDHT = "memory.acceptDHTabove";
public static final String INDEX_RECEIVE_AUTODISABLED = "memory.disabledDHT";
/*
diff --git a/source/net/yacy/kelondro/util/MemoryControl.java b/source/net/yacy/kelondro/util/MemoryControl.java
index 08295dd04..3525deb9e 100644
--- a/source/net/yacy/kelondro/util/MemoryControl.java
+++ b/source/net/yacy/kelondro/util/MemoryControl.java
@@ -43,7 +43,7 @@ public class MemoryControl {
private static long lastGC = 0l;
- private static long DHTkbytes = 0L;
+ private static long DHTMbyte = 0L;
private static long prevDHTtreshold = 0L;
private static int DHTtresholdCount = 0;
private static boolean allowDHT = true;
@@ -185,14 +185,17 @@ public class MemoryControl {
DHTtresholdCount = 0;
}
- public static void setDHTkbytes(final long kbytes) {
- DHTkbytes = kbytes;
+ /**
+ * set the memory to be available
+ */
+ public static void setDHTMbyte(final long mbyte) {
+ DHTMbyte = mbyte;
DHTtresholdCount = 0;
}
private static void checkDHTrule(final long available) {
// disable dht if memory is less than treshold - 4 times, maximum 11 minutes between each detection
- if ((available >> 10) < DHTkbytes) {
+ if ((available >> 20) < DHTMbyte) {
final long t = System.currentTimeMillis();
if(prevDHTtreshold + 11L /* minutes */ * 60000L > t) {
DHTtresholdCount++;
@@ -204,7 +207,7 @@ public class MemoryControl {
log.logInfo("checkDHTrule: below treshold; tresholdCount: " + DHTtresholdCount + "; allowDHT: " + allowDHT);
}
- else if (!allowDHT && (available >> 10) > (DHTkbytes * 2L)) // we were wrong!
+ else if (!allowDHT && (available >> 20) > (DHTMbyte * 2L)) // we were wrong!
setDHTallowed();
}