removed Xms java memory startup parameter

We will use the default value for now on.
This is much better for resource economy and fits better into a
container/docker/kubernetes strategy.
Furthermore, a small memory footprint is essential for the usage on
small devices like RaspberryPi.
pull/419/head
Michael Peter Christen 3 years ago
parent c3b3087077
commit 15b7461bc7

@ -18,10 +18,10 @@ before_install:
- sudo apt-get install -y ghostscript dpkg-dev debhelper m4 fakeroot
install:
- cd libbuild && MAVEN_OPTS="-Xmx6g -Xms2g" mvn clean install && cd ..
- cd libbuild && MAVEN_OPTS="-Xmx2g" mvn clean install && cd ..
script:
- MAVEN_OPTS="-Xmx6g -Xms2g" mvn clean install
- MAVEN_OPTS="-Xmx2g" mvn clean install
# test build instructions
- ant
- ant dist

@ -174,8 +174,6 @@ fi
if [ -f \$DATA_HOME/SETTINGS/yacy.conf ]; then
i=\`grep javastart_Xmx \$DATA_HOME/SETTINGS/yacy.conf\`;
JAVA_MAX="-\${i#javastart_Xmx=}";
i=\`grep javastart_Xms \$DATA_HOME/SETTINGS/yacy.conf\`;
JAVA_MIN="-\${i#javastart_Xms=}";
fi
CLASSPATH="\$YACY_HOME/classes:."
@ -194,7 +192,6 @@ fi
WTF=\$1; shift
if [ "\$1" == "--max" ]; then JAVA_MAX="-Xmx\$2"; shift; shift; fi
if [ "\$1" == "--min" ]; then JAVA_MIN="-Xms\$2"; shift; shift; fi
if [ "\$1" == "--nice" ]; then NICE="nice -n \$2"; shift; shift; fi
if [ "\$1" == "--debug" ]; then DEBUG="-d"; shift; fi
shift

@ -110,7 +110,7 @@ then
fi
else
JAVA_ARGS="-Xmx120m -Xms120m $JAVA_ARGS"
JAVA_ARGS="-Xmx120m $JAVA_ARGS"
fi
# generating the proper classpath

@ -39,10 +39,8 @@ JAVA_ARGS="-Djava.awt.headless=true"
if [ -f DATA/SETTINGS/yacy.conf ]
then
# startup memory
for i in Xmx Xms; do
j="`grep javastart_$i DATA/SETTINGS/yacy.conf | sed 's/^[^=]*=//'`";
if [ -n $j ]; then JAVA_ARGS="-$j $JAVA_ARGS"; fi;
done
j="`grep javastart_Xmx DATA/SETTINGS/yacy.conf | sed 's/^[^=]*=//'`";
if [ -n $j ]; then JAVA_ARGS="-$j $JAVA_ARGS"; fi;
# Priority
j="`grep javastart_priority DATA/SETTINGS/yacy.conf | sed 's/^[^=]*=//'`";

@ -677,7 +677,6 @@
</classpath>
<!--<arg value="-Xrunhprof"/>-->
<arg line="-start"/>
<jvmarg line="-Xms180m"/>
<jvmarg line="-Xmx800m"/>
<!-- <arg line="-migratewords"/>-->
<!-- <arg line="-start ${user.dir}"/>-->

@ -760,11 +760,8 @@ cleanup.failedSearchURLtimeout = 86400000
# is valid in unix/shell and windows environments but
# not for first startup of YaCy
# -Xmx<size> and -Xms<size> maximum/init Java heap size
# if a high performance for large search indexes is wanted, then setting the values to equal number is recommended
# if YaCy shall be nice in not-only-yacy environments, then the Xms value may be lower
# -Xmx<size> maximum/init Java heap size
javastart_Xmx=Xmx600m
javastart_Xms=Xms90m
# YaCy is able to use RAM copies of database tables. This needs a lot of RAM.
# To switch on copying of file tables int RAM, there must be enough memory

@ -55,17 +55,17 @@ public class PerformanceQueues_p {
final Switchboard sb = (Switchboard) env;
final serverObjects prop = new serverObjects();
File defaultSettingsFile = new File(sb.getAppPath(), "defaults/yacy.init");
/* Acquire a transaction token for the next POST form submission */
prop.put(TransactionManager.TRANSACTION_TOKEN_PARAM, TransactionManager.getTransactionToken(header));
// get segment
Segment indexSegment = sb.index;
final Segment indexSegment = sb.index;
if(post != null) {
/* Check the transaction is valid : validation apply then for every uses of this post parameter */
TransactionManager.checkPostTransaction(header, post);
if(post.containsKey("resetObserver")) {
/* The the reset state button is pushed, we only perform this action and do not save other form field values at the same time */
MemoryControl.resetProperState();
@ -81,11 +81,9 @@ public class PerformanceQueues_p {
if (post.containsKey("Xmx")) {
int xmx = post.getInt("Xmx", 600); // default maximum heap size
if (OS.isWin32) xmx = Math.min(2000, xmx);
int xms = xmx; //Math.min(xmx, Math.max(90, xmx / 10));
sb.setConfig("javastart_Xmx", "Xmx" + xmx + "m");
sb.setConfig("javastart_Xms", "Xms" + xms + "m");
prop.put("setStartupCommit", "1");
/* Acquire a transaction token for the restart operation */
prop.put("setStartupCommit_" + TransactionManager.TRANSACTION_TOKEN_PARAM, TransactionManager.getTransactionToken(header, "/Steering.html"));
}
@ -94,8 +92,8 @@ public class PerformanceQueues_p {
}
if(post.containsKey("diskFreeHardlimit")) {
sb.setConfig(SwitchboardConstants.RESOURCE_DISK_FREE_MIN_UNDERSHOT, post.getLong("diskFreeHardlimit", SwitchboardConstants.RESOURCE_DISK_FREE_MIN_UNDERSHOT_DEFAULT));
/* This is a checkbox in Performance_p.html : when not checked the value is not in post parameters,
/* This is a checkbox in Performance_p.html : when not checked the value is not in post parameters,
* so we take only in account when the relate diskFreeHardlimit is set */
sb.setConfig(SwitchboardConstants.RESOURCE_DISK_FREE_AUTOREGULATE,
post.getBoolean("diskFreeAutoregulate"));
@ -107,8 +105,8 @@ public class PerformanceQueues_p {
if (post.containsKey("diskUsedHardlimit")) {
sb.setConfig(SwitchboardConstants.RESOURCE_DISK_USED_MAX_OVERSHOT, post.getLong("diskUsedHardlimit",
SwitchboardConstants.RESOURCE_DISK_USED_MAX_OVERSHOT_DEFAULT));
/* This is a checkbox in Performance_p.html : when not checked the value is not in post parameters,
/* This is a checkbox in Performance_p.html : when not checked the value is not in post parameters,
* so we take only in account when the related diskFreeHardlimit is set */
sb.setConfig(SwitchboardConstants.RESOURCE_DISK_USED_AUTOREGULATE,
post.getBoolean("diskUsedAutoregulate"));
@ -155,7 +153,7 @@ public class PerformanceQueues_p {
sb.setConfig("performanceSpeed", post.getInt("profileSpeed", 100));
}
IndexCell<WordReference> rwi = indexSegment.termIndex();
final IndexCell<WordReference> rwi = indexSegment.termIndex();
while (threads.hasNext()) {
threadName = threads.next();
thread = sb.getThread(threadName);
@ -257,7 +255,7 @@ public class PerformanceQueues_p {
sb.setConfig(SwitchboardConstants.WORDCACHE_MAX_COUNT, Integer.toString(wordCacheMaxCount));
if (rwi != null) rwi.setBufferMaxWordCount(wordCacheMaxCount);
}
/* Setting remote searches max loads */
if (post != null) {
if(post.containsKey("setRemoteSearchLoads")) {
@ -286,7 +284,7 @@ public class PerformanceQueues_p {
// storing the new values into configfile
sb.setConfig(SwitchboardConstants.CRAWLER_THREADS_ACTIVE_MAX,maxBusy);
/*
* configuring the robots.txt loading pool
*/
@ -311,7 +309,7 @@ public class PerformanceQueues_p {
sb.setConfig("httpdMaxBusySessions",maxBusy);
}
if ((post != null) && (post.containsKey("connectionPoolConfig"))) {
/* Configure the general outgoing HTTP connection pool */
@ -356,7 +354,7 @@ public class PerformanceQueues_p {
prop.put("pool_0_name","Crawler Pool");
prop.put("pool_0_maxActive", sb.getConfigLong(SwitchboardConstants.CRAWLER_THREADS_ACTIVE_MAX, 0));
prop.put("pool_0_numActive", sb.crawlQueues.activeWorkerEntries().size());
prop.put("pool_1_name","Robots.txt Pool");
prop.put("pool_1_maxActive", sb.getConfigInt(SwitchboardConstants.ROBOTS_TXT_THREADS_ACTIVE_MAX, SwitchboardConstants.ROBOTS_TXT_THREADS_ACTIVE_MAX_DEFAULT));
prop.put("pool_1_numActive", sb.crawlQueues.activeWorkerEntries().size());
@ -366,7 +364,7 @@ public class PerformanceQueues_p {
prop.put("pool_2_numActive", ConnectionInfo.getServerCount());
prop.put("pool", "3");
/* Connection pools settings */
prop.put(SwitchboardConstants.HTTP_OUTGOING_POOL_GENERAL_MAX_TOTAL,
sb.getConfigInt(SwitchboardConstants.HTTP_OUTGOING_POOL_GENERAL_MAX_TOTAL,
@ -379,23 +377,21 @@ public class PerformanceQueues_p {
prop.put("pool.general.leased", stats.getLeased());
prop.put("pool.general.available", stats.getAvailable());
prop.put("pool.general.pending", stats.getPending());
stats = RemoteInstance.CONNECTION_MANAGER.getTotalStats();
prop.put("pool.remoteSolr.leased", stats.getLeased());
prop.put("pool.remoteSolr.available", stats.getAvailable());
prop.put("pool.remoteSolr.pending", stats.getPending());
/* Remote searches max loads settings */
prop.put("remoteSearchRWIMaxLoad", sb.getConfigFloat(SwitchboardConstants.REMOTESEARCH_MAXLOAD_RWI,
SwitchboardConstants.REMOTESEARCH_MAXLOAD_RWI_DEFAULT));
prop.put("remoteSearchSolrMaxLoad", sb.getConfigFloat(SwitchboardConstants.REMOTESEARCH_MAXLOAD_SOLR,
SwitchboardConstants.REMOTESEARCH_MAXLOAD_SOLR_DEFAULT));
// parse initialization memory settings
final String Xmx = sb.getConfig("javastart_Xmx", "Xmx600m").substring(3);
prop.put("Xmx", Xmx.substring(0, Xmx.length() - 1));
final String Xms = sb.getConfig("javastart_Xms", "Xms600m").substring(3);
prop.put("Xms", Xms.substring(0, Xms.length() - 1));
// parse initialization memory settings
final String Xmx = sb.getConfig("javastart_Xmx", "Xmx600m").substring(3);
prop.put("Xmx", Xmx.substring(0, Xmx.length() - 1));
final long diskFree = sb.getConfigLong(SwitchboardConstants.RESOURCE_DISK_FREE_MIN_STEADYSTATE, 3000L);
final long diskFreeHardlimit = sb.getConfigLong(SwitchboardConstants.RESOURCE_DISK_FREE_MIN_UNDERSHOT, 1000L);

@ -14,7 +14,6 @@ Rem This target is used to read java runtime parameters out of the yacy config f
:GETSTARTOPTS
REM for /F "tokens=1,2 delims==" %%i in (DATA\SETTINGS\yacy.conf) do (
REM if "%%i"=="javastart_Xmx" set jmx=%%j
REM if "%%i"=="javastart_Xms" set jms=%%j
REM )
Rem choose service runner executable according to processor architecture

@ -11,7 +11,7 @@ Set CLASSPATH=lib\yacycore.jar
REM Please change the "javastart" settings in the web-interface "Basic Configuration" -> "Advanced"
set jmx=
set jms=
set javacmd=-Xmx600m -Xms180m
set javacmd=-Xmx600m
set priolvl=10
set priority=/BELOWNORMAL
if exist DATA\SETTINGS\httpProxy.conf GoTo :RENAMEINDEX
@ -56,7 +56,6 @@ Rem This target is used to read java runtime parameters out of the yacy config f
:GETSTARTOPTS
for /F "tokens=1,2 delims==" %%i in (DATA\SETTINGS\yacy.conf) do (
if "%%i"=="javastart_Xmx" set jmx=%%j
if "%%i"=="javastart_Xms" set jms=%%j
if "%%i"=="javastart_priority" set priolvl=%%j
)
if defined jmx set javacmd=-%jmx%

@ -192,11 +192,9 @@ fi
if [ -f $CONFIGFILE ]
then
# startup memory
for i in Xmx Xms; do
j="`grep javastart_$i $CONFIGFILE | sed 's/^[^=]*=//'`";
if [ -n "$j" ]; then JAVA_ARGS="-$j $JAVA_ARGS"; fi;
done
j="`grep javastart_Xmx $CONFIGFILE | sed 's/^[^=]*=//'`";
if [ -n "$j" ]; then JAVA_ARGS="-$j $JAVA_ARGS"; fi;
# Priority
j="`grep javastart_priority $CONFIGFILE | sed 's/^[^=]*=//'`";
@ -210,7 +208,7 @@ then
# JAVA_ARGS="-$i $JAVA_ARGS";
# done
else
JAVA_ARGS="-Xmx600m -Xms180m $JAVA_ARGS";
JAVA_ARGS="-Xmx600m $JAVA_ARGS";
PORT="8090"
fi

@ -9,7 +9,7 @@ Set CLASSPATH=lib/yacycore.jar
REM Please change the "javastart" settings in the web-interface "Basic Configuration" -> "Advanced"
set jmx=
set jms=
set javacmd=-Xmx600m -Xms180m
set javacmd=-Xmx600m
set priolvl=10
set priority=/BELOWNORMAL
set port=8090
@ -60,7 +60,6 @@ Rem This target is used to read java runtime parameters out of the yacy config f
:GETSTARTOPTS
for /F "tokens=1,2 delims==" %%i in (DATA\SETTINGS\yacy.conf) do (
if "%%i"=="javastart_Xmx" set jmx=%%j
if "%%i"=="javastart_Xms" set jms=%%j
if "%%i"=="port" set port=%%j
if "%%i"=="javastart_priority" set priolvl=%%j
)

Loading…
Cancel
Save