From 97393196fa7a43b5e959835abc464356929d68e1 Mon Sep 17 00:00:00 2001 From: theli Date: Sat, 20 May 2006 15:15:52 +0000 Subject: [PATCH] *) Avoiding wrong java heap size settings. Xmx must be greater or equal Xms See: http://www.yacy-forum.de/viewtopic.php?p=21782 git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@2128 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- htroot/PerformanceMemory_p.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/htroot/PerformanceMemory_p.java b/htroot/PerformanceMemory_p.java index 65b896e18..94fed1bce 100644 --- a/htroot/PerformanceMemory_p.java +++ b/htroot/PerformanceMemory_p.java @@ -113,11 +113,20 @@ public class PerformanceMemory_p { Runtime.getRuntime().gc(); prop.put("gc", 1); } - if (post.containsKey("Xmx")) { - env.setConfig("javastart_Xmx", "Xmx" + post.get("Xmx", "64") + "m"); - } + + int xms = 10; if (post.containsKey("Xms")) { - env.setConfig("javastart_Xms", "Xms" + post.get("Xms", "10") + "m"); + try { xms = Integer.valueOf(post.get("Xms", "10")).intValue(); } catch (NumberFormatException e){} + env.setConfig("javastart_Xms", "Xms" + xms + "m"); + } + int xmx = 64; // default maximum heap size + if (post.containsKey("Xmx")) { + try { xmx = Integer.valueOf(post.get("Xmx", "64")).intValue(); } catch (NumberFormatException e){} + // initial heap size must be less than or equal to the maximum heap size + if (xmx < xms) xmx = xms; + env.setConfig("javastart_Xmx", "Xmx" + xmx + "m"); + } else if (xmx < xms) { + env.setConfig("javastart_Xmx", "Xmx" + xmx + "m"); } }