I’m trying to understand whether I have a memory leak on my server (Windows Server 2012R2). The server has 48 GB RAM and was designed to run only a DBMS (a SQL Server 2014) but there are also other tools like Symantec Endpoint Protection, FireEye and some monitoring tools/services installed. It is currently configured to reserve 42 GB to DBMS leaving 6 GB to OS and other services. There were out-of-memory errors when only 4 GB were reserved for OS and other services, which disappeared after I increased this to 6 GB. High RAM usage itself is normal for a SQL Server machine, as SQL Server buffers the data in RAM.
What worries me is that swap usage (performance counter Paging File->Usage) is gradually increasing in the last 2 months currently reaching 15 % of 24 GB (size of the swap file). I’m not sure whether this is fine because Windows puts stuff in swap even under normal conditions or is it an indicator that 6 GB also won’t be enough after some time. On the chart below green line is RAM usage (spikes down when I restarted the SQL Server and rapidly gets up again) and yellow is the swap usage since mid-May.
Swap usage image
What I have done:
Dumped the performance counters “Process->Private bytes”. Nothing really suspicious here. TOP10 in MBs are (total 44711 MB):
- sqlserver 41322
- xagt#5 504
- ccsvchst 316
- splunkd 285
- ccsvchst#1 260
- monitoringhost 233
- xagt#1 151
- monitoringhost#1 129
- healthservice 116
- svchost#4 110
Tried to restart individual services (SQL Server, xagt/Fireeye, splunkd). This had no effect on the swap usage.
Tried to get more information using tools RAMMap from Sysinternals and VMMap as I suspected that some process leaks memory through memory mapped files, which don’t count to private bytes.
RAMMap reports following (unfortunately the files under File Summary/File Details are only adding up to less than 300 MB used though 2659 MB reported as active for mapped files):
Screenshot from rammap
I have another server with the same tools installed, but 96 GB RAM and 16 GB swap. RAM usage is below 50 %, but swap usage is also (almost) continuously increasing currently at 28 %.
Swap usage on another server
Is this kind of behavior normal? If not, how I can find the problematic process?


