GEODE-6116: Set JVM flags on the VMs. (#12)
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/configurations/JVMProperties.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/configurations/JVMProperties.java
new file mode 100644
index 0000000..f9695f2
--- /dev/null
+++ b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/configurations/JVMProperties.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.benchmark.configurations;
+
+public class JVMProperties {
+
+ public static final String[] JVM_ARGS = new String[] {
+ "-XX:CMSInitiatingOccupancyFraction=60",
+ "-XX:+PrintGCDetails",
+ "-XX:+PrintGCTimeStamps",
+ "-XX:+PrintGCDateStamps",
+ "-XX:+PrintGCApplicationStoppedTime",
+ "-XX:+PrintGCApplicationConcurrentTime",
+ "-XX:+UseGCLogFileRotation",
+ "-XX:NumberOfGCLogFiles=20",
+ "-XX:GCLogFileSize=1M",
+ "-XX:+UnlockDiagnosticVMOptions",
+ "-XX:ParGCCardsPerStrideChunk=32768",
+ "-XX:OnOutOfMemoryError='\''kill -9 %p'\''",
+ "-XX:+UseNUMA",
+ "-XX:+UseConcMarkSweepGC",
+ "-XX:+UseCMSInitiatingOccupancyOnly",
+ "-XX:+CMSClassUnloadingEnabled",
+ "-XX:+DisableExplicitGC",
+ "-XX:+ScavengeBeforeFullGC",
+ "-XX:+CMSScavengeBeforeRemark",
+ "-server",
+ "-Djava.awt.headless=true",
+ "-Dsun.rmi.dgc.server.gcInterval=9223372036854775806",
+ "-Dgemfire.OSProcess.ENABLE_OUTPUT_REDIRECTION=true",
+ "-Dgemfire.launcher.registerSignalHandlers=true"
+ };
+
+}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/BenchmarkOperation.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/BenchmarkOperation.java
index 5afbf29..95cb91d 100644
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/BenchmarkOperation.java
+++ b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/BenchmarkOperation.java
@@ -21,6 +21,7 @@
import static org.apache.geode.benchmark.configurations.BenchmarkParameters.Roles.LOCATOR;
import static org.apache.geode.benchmark.configurations.BenchmarkParameters.Roles.SERVER;
import static org.apache.geode.benchmark.configurations.BenchmarkParameters.WARM_UP_TIME;
+import static org.apache.geode.benchmark.configurations.JVMProperties.JVM_ARGS;
import org.junit.Test;
@@ -34,8 +35,6 @@
public abstract class BenchmarkOperation {
long keyRange = KEY_RANGE;
- int warmUpTime = WARM_UP_TIME;
- int benchmarkDuration = BENCHMARK_DURATION;
@Test
public void run() throws Exception {
@@ -58,11 +57,14 @@
config.name(this.getClass().getCanonicalName());
- config.warmupSeconds(warmUpTime);
- config.durationSeconds(benchmarkDuration);
+ config.warmupSeconds(WARM_UP_TIME);
+ config.durationSeconds(BENCHMARK_DURATION);
config.role(LOCATOR, 1);
config.role(SERVER, 2);
config.role(CLIENT, 1);
+ config.jvmArgs(SERVER, JVM_ARGS);
+ config.jvmArgs(CLIENT, JVM_ARGS);
+ config.jvmArgs(LOCATOR, JVM_ARGS);
config.before(new StartLocator(locatorPort), LOCATOR);
config.before(new StartServer(locatorPort), SERVER);
createRegion(config);
@@ -70,6 +72,7 @@
config.before(new CreateClientProxyRegion(), CLIENT);
config.before(new PrePopulateRegion(keyRange), SERVER);
benchmarkOperation(config);
+
}
/**