Details on monitoring the virtual memory

Monitoring virtual memory is managed using an internal data point of the type _MemoryCheck. By default, there are two data points: _MemoryCheck and _MemoryCheck_2 The datapoint has the following leaves:

Datapoint element Type Example Meaning
EmergencyKBLimit int 10240 Minimum limit of free memory
TotalKB int 373456 Total available memory
UsedKB int 116352 Used memory
AvailKB int 257136 Available memory
FreeKB int 257088 Free memory
AvailPerc int 69 Available memory as a percentage
FreePerc int 69 Free memory as a percentage
Status string "OK" Status of monitoring as text
Note:
In this context, available memory and free memory always have the same value. Because this databpoint is compatible with _DiskSpaceCheck, both elements are included.

Status

Status may display the following text:

  • OK

  • OVER_LIMIT

This corresponds to the data point _DiskSpaceCheck.

EmergencyKBLimit

If a value < 0 is entered for EmergencyKBLimit, the data is updated but not used for monitoring. Otherwise, a default and minimum value of 10 MB applies.

If WinCC OA default values are configured, the EmergencyKBLimit and related thresholds are calculated automatically.

Checking is carried out at 5 seconds intervals.

Automatic Threshold Calculation

If WinCC OA default values are detected in the project configuration, the system automatically calculates new memory monitoring thresholds.

The total available system memory is determined and the following percentage-based limits are applied:

Level Threshold
Warning 10% free memory
Alarm 7.5% free memory
Emergency Mode 5% free memory
Notice:
After the configuration check or the automatic calculation has been executed, the datapoint element EmergencyKBLimit is set to the value 1 by the CTRL Manager. This value is used as an indicator that the check has already been performed and will not be executed again.

Entries in the config file

DP_MemoryCheck

The config entry DP_MemoryCheck defines the name of the datapoint of the type _MemoryCheck. By default _MemoryCheck is accepted.

[data]

DP_MemoryCheck = "_MemoryCheck"

checkMemory

The config entry checkMemory completely switches off free memory (type: bool), the appropriate datapoint is no longer updated in this case.

[data]

checkMemory = 0