Resolving Windows Paging File Usage Alarms and Configuring Virtual Memory in SIMATIC PCS 7 OS

Resolving Windows Paging File Usage Alarms and Configuring Virtual Memory in SIMATIC PCS 7 OS

Repeated WinCC system alarms warning of excessive 'Paging file usage' occur when the Windows virtual memory paging file (pagefile.sys) exceeds 80–90% utilization or when Windows dynamic pagefile sizing causes disk allocation delays. SIMATIC PCS 7 OS Servers and Engineering Stations require a fixed, manually configured paging file sized to 1.5 times physical RAM (or a fixed 16 GB to 32 GB for systems with 32 GB+ RAM) with Initial and Maximum sizes set identically. This eliminates dynamic resizing overhead, prevents disk fragmentation, and prevents WinCC SQL Server database commit freezes.

Table of Contents

Mechanism of Windows Virtual Memory in SIMATIC PCS 7

In SIMATIC PCS 7 Operator Stations (OS Servers, OS Clients, Maintenance Stations, and Web Servers), Windows manages process memory using physical RAM combined with a hidden disk file named pagefile.sys.

WinCC Runtime incorporates high-demand processes including Microsoft SQL Server (sqlservr.exe), the Graphics Runtime engine (PdlRuntime.exe), Tag Logging, and Alarm Logging archives. WinCC internal system diagnostic tasks continuously query Windows performance counters (\Paging File(_Total)\% Usage). When paging file utilization crosses the default internal threshold (typically 80%), WinCC logs repeated warning alarms to alert the operator before Windows exhausts virtual memory and crashes active runtime processes.

Why Dynamic Paging Files Trigger WinCC System Alarms

By default, fresh Windows installations are set to 'Automatically manage paging file size for all drives'. In an industrial SCADA/DCS server, this default setting is disastrous:
1. Dynamic Expansion Latency: When SQL Server or WinCC archive engines require additional virtual memory during large batch transactions or shift-change trend queries, Windows attempts to expand pagefile.sys dynamically on disk. Disk I/O contention causes high latency, during which WinCC flags a paging file alarm.
2. Disk Fragmentation: Repeated expansion and contraction of pagefile.sys fragments the NTFS file system, severely degrading database read/write throughput.
3. Paging File Under-Sizing: On systems with modest physical RAM, Windows often allocates an initial pagefile of only 1 GB to 2 GB, which fills rapidly under heavy WinCC communication loads.

Siemens Standard Sizing Guidelines for pagefile.sys

According to the official SIMATIC Process Control System PCS 7 - PC Configuration Manual (Chapter 5.3.9), virtual memory must be configured as a fixed entity on the high-speed operating system drive (typically C:) or a dedicated fast partition.

Installed Physical RAMRecommended Initial Size (MB)Recommended Maximum Size (MB)Storage Drive Recommendation4 GB to 8 GB (Legacy Clients)1.5 x RAM (e.g., 6,144 MB – 12,288 MB)Identical to Initial SizeHigh-speed OS SSD/HDD (C:)16 GB (Standard OS Server)1.5 x RAM (24,576 MB)Identical to Initial Size (24,576 MB)System SSD or dedicated pagefile drive32 GB (High-End OS / Process Historian)Fixed 32,768 MB (32 GB)Identical to Initial Size (32,768 MB)System SSD with >= 50 GB free space64 GB+ (Virtualized ESXi / Hyper-V Hosts)Fixed 32,768 MB to 49,152 MBIdentical to Initial SizeFast NVMe / Enterprise SAN storage

Setting the Initial Size and Maximum Size to the exact same value forces Windows to pre-allocate a contiguous file on disk at boot, completely eliminating fragmentation and resizing penalties.

Step-by-Step Configuration in Windows Server and Windows 7/10

To apply the recommended settings across all PCS 7 stations:

[Windows Control Panel -> System]
   │
   ├─► Select: "Advanced system settings"
   ├─► In the "Performance" section, click: Settings...
   ├─► Navigate to Tab: "Advanced"
   ├─► In the "Virtual memory" section, click: Change...
   │
   ├─► Deselect: [ ] "Automatically manage paging file size for all drives"
   ├─► Select drive C: and choose: (•) "Custom size"
   │     • Initial size (MB): Set per table (e.g., 24576 for 16 GB RAM)
   │     • Maximum size (MB): Set identical to Initial size (24576)
   ├─► Click: [ Set ]  <-- CRITICAL: Must click Set before clicking OK!
   └─► Click OK -> Apply -> Restart Computer when prompted

Upon system restart, Windows reserves the entire contiguous block, and WinCC's paging percentage drops to a stable, non-alarm baseline.

Verification

To confirm that the virtual memory configuration has resolved the alarms:
1. Open Windows Task Manager and navigate to the Performance -> Memory tab; verify that the "Committed" memory ceiling reflects physical RAM plus the configured pagefile size.
2. In WinCC Runtime, monitor the system message display for 24 hours; confirm that no "@103% Paging file usage" or virtual memory warning alarms appear.
3. Open Windows Event Viewer (Application and System Logs) and verify there are no Resource-Exhaustion-Detector (Event ID 2004) warnings.
4. Launch Performance Monitor (perfmon.msc), add the counter Paging File(_Total)\% Usage, and confirm steady-state usage remains well below 60% during intensive historical trend loading.

Limitations and Operational Precautions

Ensure that the system drive (C:) has adequate free disk space before pre-allocating a large fixed paging file. If allocating a 32 GB paging file leaves less than 15% free disk space on drive C:, Windows and SQL Server may encounter disk write failures. If drive C: is constrained, relocate the paging file to a dedicated high-speed auxiliary drive (D: or E:). Do not place the paging file on compressed drives, dynamic network drives, or external USB storage.

Engineer FAQ

Why does WinCC alarm when 80% paging is reached even if physical RAM is free?

Windows allocates virtual address space to applications proactively. Even if physical RAM is not 100% consumed, virtual allocation commitments (commit charge) can fill the paging file, prompting WinCC to warn of imminent exhaustion.

Can I disable the paging file entirely if my server has 64 GB RAM?

No. Windows, WinCC, and Microsoft SQL Server require a paging file for crash dump logging and specific memory allocation APIs. Disabling the paging file can cause WinCC startup crashes regardless of physical RAM size.

Why must Initial Size and Maximum Size be identical?

Setting both values identically forces Windows to allocate a single contiguous block on disk once. This completely eliminates dynamic expansion overhead and prevents NTFS file fragmentation.

Can a memory leak in custom WinCC C-scripts cause paging file alarms?

Yes. C-scripts that call dynamic allocation functions without freeing memory, or that repeatedly query tags without proper handle management, will steadily leak virtual memory until the paging file fills.

Technical References

Related Articles

Related Tags

  • Virtual Memory
  • Paging File
  • PC Configuration
  • WinCC Performance
  • SQL Server
6 respuestas