From f825e88a09d3035157fb3347b6dc35e5d687e6f9 Mon Sep 17 00:00:00 2001 From: low012 Date: Sun, 10 Aug 2008 12:02:11 +0000 Subject: [PATCH] *) large memory pages will only be used if start script can confirm that Linux supports them or that the OS is Solaris, this should eliminate all sorts of weird behavior including not working shutdown git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5048 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- startYACY.sh | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/startYACY.sh b/startYACY.sh index 5b986aa5a..85387b33e 100755 --- a/startYACY.sh +++ b/startYACY.sh @@ -79,7 +79,32 @@ done #get javastart args #JAVA_ARGS=""; -JAVA_ARGS="-server -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseAdaptiveSizePolicy -XX:+UseLargePages"; + +#check if Linux system supports large memory pages or if OS is Solaris which +#supports large memory pages since version 9 +#(according to http://java.sun.com/javase/technologies/hotspot/largememory.jsp) +ENABLEHUGEPAGES=0; + +if [ $OS = "Linux" ] +then + HUGEPAGESTOTAL="`cat /proc/meminfo | grep HugePages_Total | sed s/[^0-9]//g`" + if [ -n "$HUGEPAGESTOTAL" ] && [ $HUGEPAGESTOTAL -ne 0 ] + then + ENABLEHUGEPAGES=1 + elif [ $OS = "SunOS" ] + then + ENABLEHUGEPAGES=1 + fi +fi + + +JAVA_ARGS="-server -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseAdaptiveSizePolicy"; +#turn on support for large memory pages if supported by OS +if [ $ENABLEHUGEPAGES -eq 1 ] +then + JAVA_ARGS="$JAVA_ARGS -XX:+UseLargePages" +fi + #JAVA_ARGS="-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails $JAVA_ARGS"; if [ ! -f $CONFIGFILE -a -f DATA/SETTINGS/httpProxy.conf ]