From 59950603dfb8a0e83b7155c143c33941a320a53e Mon Sep 17 00:00:00 2001 From: Andrew Roskuski Date: Fri, 4 Jun 2021 14:06:53 -0400 Subject: [PATCH] Remove currently undesired recommendations (#291) * Remove currently undesired recommendations These require additional investigation before we recommend them * Apply recommended changes * add timezone --- charts/pega/RecommendedJVMArgs.md | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/charts/pega/RecommendedJVMArgs.md b/charts/pega/RecommendedJVMArgs.md index 24d676b00..2aa509760 100644 --- a/charts/pega/RecommendedJVMArgs.md +++ b/charts/pega/RecommendedJVMArgs.md @@ -25,7 +25,7 @@ This is the Java8+ equivalent of *PermGen* space. This space is unbounded by def **Flag**: `-XX:MaxMetaspaceSize=SIZE`
**Purpose**: Sets the maximum value the JVM Metaspace can occupy. Beyond this "Metaspace OutOfMemoryError" is thrown.
**JVM default**: 18446744073709486080 Bytes or Unbounded
-**Pega Recommendation**: Unbounded(default), to ensure that "Metaspace OutOfMemoryError" exceptions do not occur.
+**Pega Recommendation**: If left Unbounded (default) then there is a risk that the kernel will run out of physical memory, and when this occurs the system will hang without an error message, and therefore will be difficult to diagnose after recovery since there will be no logging detail to investigate. Setting MaxMetaspaceSize to a minimum of 768m should be large enough to ensure that "Metaspace OutOfMemoryError" exceptions do not occur, and at the same time will prevent the kernel out of memory and resulting system hang without error messages.
**Flag**: `-XX:+UseStringDeduplication`
**Purpose**: Maintains a single copy of String literals *aka Deduplication*, in case multiple Strings have the same literal value
@@ -55,21 +55,8 @@ This is the Java8+ equivalent of *PermGen* space. This space is unbounded by def **JVM default**: No GC logs will be emitted by default.
**Pega Recommendation**: Set to allow GC logs to be collected. Currently, the log rotation policy is set to 3 log files with maximum of 2MB each.

-##### Few more arguments: -**Flag**: `-XX:MaxGCPauseMillis=n`
-**Purpose**: Sets the peak pause time for GC to happen.
-**JVM default**: 200 milliseconds
-**Pega Recommendation**: Set to higher value for BATCH pods for better throughput. -
- -**Flag**: `-XX:StringTableSize=n`
-**Purpose**: Sets the number of hash-buckets to be used in string pool for accommodating Strings
-**JVM default**: 65536, the default Hash bucket size of the JVM String pool
-**Pega Recommendation**: Tune this based on requirements.
- - - - - - +**Flag**: `-Duser.timezone=TIMEZONE`
+**Purpose**: Sets the timezone the JVM will use.
+**JVM default**: By default, the JVM obtains time zone from the operating system. The Pega docker image is configured to Etc/UTC.
+**Pega Recommendation**: Pega requires the JVM timezone to be the same as the timezone used by the database. Set this if your database is not Etc/UTC. \ No newline at end of file