diff --git a/defaults/yacy.init b/defaults/yacy.init index 9626d591a..bcdec2847 100644 --- a/defaults/yacy.init +++ b/defaults/yacy.init @@ -887,8 +887,8 @@ disk.free = 3000 # minimum for DHT disk.free.hardlimit = 1000 -# minimum memory to accept dht-in (KB) -memory.acceptDHT = 50000 +# minimum memory to accept dht-in (MiB) +memory.acceptDHTabove = 50 memory.disabledDHT = false # setting if execution of CGI files is allowed or not diff --git a/htroot/PerformanceQueues_p.java b/htroot/PerformanceQueues_p.java index 6be5b8231..25855cf1b 100644 --- a/htroot/PerformanceQueues_p.java +++ b/htroot/PerformanceQueues_p.java @@ -102,7 +102,7 @@ public class PerformanceQueues_p { sb.setConfig(SwitchboardConstants.DISK_FREE_HARDLIMIT, diskFreeHardlimit); } if(post.containsKey("memoryAcceptDHT")) { - int memoryAcceptDHT = 50000; // default + int memoryAcceptDHT = 50; // default try { memoryAcceptDHT = Integer.parseInt(post.get("memoryAcceptDHT", Integer.toString(memoryAcceptDHT))); } catch (final NumberFormatException e){} sb.setConfig(SwitchboardConstants.MEMORY_ACCEPTDHT, memoryAcceptDHT); } diff --git a/htroot/Performance_p.html b/htroot/Performance_p.html index a9dd52e10..9aa8fd267 100644 --- a/htroot/Performance_p.html +++ b/htroot/Performance_p.html @@ -45,7 +45,7 @@
disable crawls below MiB free space,
disable DHT-in below MiB free space
-
disable DHT-in below KiB free space
+
disable DHT-in below MiB free space
 
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(); }