The monitoring configuration of system memory utilization (also known as Memory Load Guard) is specified by certain key values in the configuration file Analyseserver_settings.properties. If one of these keys is not entered or contains invalid values, a warning is output in the analysis server logs and a default value is set for this key.
The key MemoryLoadGuard.Enabled specifies whether memory load monitoring is enabled or not. Valid values are true and false. The default value is TRUE.
You can change the configuration during analysis server runtime. The changed values will be considered the next time the system memory load is checked.
Thresholds
The two thresholds identifying the limits of unfavorable and critical memory load area are specified as a percentage of the analysis server's maximum memory available. Decisive is the memory load of the Old Generation (memory area where Java objects are saved permanently. The Java documentation calls this "committed size", i.e., the ratio of maximum and actually used size.)
Values below 50% are ignored because they are not viable.
The key MemoryLoadGuard.Warn.PercentageOfMemoryUsed indicates the limit at which unfavorable memory load begins. The default value is 90%. This value cooperates efficiently with the internal Garbage Collection component of the Java Runtime Environment. This way, imminent memory shortages can be tackled in time.
The key MemoryLoadGuard.PreventImport.PercentageOfMemoryUsed indicates the limit at which critical memory load begins. The default value of 95% allows the system to identify critical memory shortages early on and thus enables it to still import large data volumes safely.
Times of day
You can restrict cyclical memory load checks to specific times of day in order to save the performance of the analysis server for a current session. Start time and end time for a cyclical memory load check are specified in the keys MemoryLoadGuard.BackgroundCheck.TimeWindow.Start and MemoryLoadGuard.BackgroundCheck.TimeWindow.End. The times are specified in 24-hour notation hh:mm (ISO 8601). It is based on the system time of the analysis server. You can change the values during analysis server operation.
Example
The following file extract shows the default configuration of the early alert system in case of memory shortage. The system is active, the limit for unfavorable memory load is 90%, the limit for critical memory load is 95%. The cyclical memory load check is active between 20:00 and 6:00 of the following day.
#### Memory Load Guard ####
MemoryLoadGuard.Enabled=true
MemoryLoadGuard.Warn.PercentageOfMemoryUsed=90
MemoryLoadGuard.PreventImport.PercentageOfMemoryUsed=95
# Time window where background checks may occur.
MemoryLoadGuard.BackgroundCheck.TimeWindow.Start=20:00
# End minute is not included. However, if both Start and End are set to the same value checks are possible all day.
MemoryLoadGuard.BackgroundCheck.TimeWindow.End=06:00