addAll(jvmargs, _jvmargs);
}
- // see if a percentage of physical memory option exists
- int jvmmempc = config.getInt("jvmmempc", -1);
+ // see if a percentage of physical memory, or max heap size options exist
+ String jvmmempc = config.getString("jvmmempc", null);
+ String jvmmemmax = config.getString("jvmmemmax", null);
// app_id prefixed setting overrides
if (appPrefix.length() > 0) {
- jvmmempc = config.getInt(appPrefix + "jvmmempc", jvmmempc);
- }
- if (0 <= jvmmempc && jvmmempc <= 100) {
-
- long maxMemLong = -1;
-
- try
- {
- maxMemLong = MemorySetting.memPercent(jvmmempc);
- } catch (Exception e)
- {
- e.printStackTrace();
- } catch (Throwable t)
- {
- t.printStackTrace();
- }
-
- if (maxMemLong > 0)
- {
-
- String[] maxMemHeapArg = new String[]{"-Xmx"+Long.toString(maxMemLong)};
- // remove other max heap size arg
- ARG: for (int i = 0; i < _jvmargs.size(); i++) {
- if (_jvmargs.get(i) instanceof java.lang.String && _jvmargs.get(i).startsWith("-Xmx")) {
- _jvmargs.remove(i);
- break ARG;
- }
+ jvmmempc = config.getString(appPrefix + "jvmmempc", jvmmempc);
+ jvmmemmax = config.getString(appPrefix + "jvmmemmax", jvmmemmax);
+ }
+ long maxMemLong = -1;
+ maxMemLong = MemorySetting.getMemorySetting(jvmmemmax, jvmmempc);
+ if (maxMemLong > 0)
+ {
+ String[] maxMemHeapArg = new String[]{"-Xmx"+Long.toString(maxMemLong)};
+ // remove other max heap size arg
+ ARG: for (int i = 0; i < _jvmargs.size(); i++) {
+ if (_jvmargs.get(i) instanceof java.lang.String && _jvmargs.get(i).startsWith("-Xmx")) {
+ _jvmargs.remove(i);
+ break ARG;
}
- addAll(maxMemHeapArg, _jvmargs);
- log.info("Max memory set", "maxMemHeapArg", maxMemHeapArg[0]);
-
}
-
- } else if (jvmmempc != -1) {
- log.warning("'jvmmempc' value must be in range 0 to 100 (read as '"+Integer.toString(jvmmempc)+"')");
+ addAll(maxMemHeapArg, _jvmargs);
}
// get the set of optimum JVM arguments