SQL Server (64 bit) consuming all memory


This article applies to:

  • Trustwave SEG
  • Trustwave ECM
  • WebMarshal
  • SQL Server 64 bit versions
    • This issue does not affect the 64 bit version of SQL 2016 Express (such as the distribution that is packaged with the latest Trustwave products). SQL Express already limits memory usage.

Symptoms:

  • SQL Server consumes all available memory
  • SQL consumes 15.6 GB on a server with 16 GB of physical memory
  • Memory is never released
  • Other applications on the server run slowly

Causes:

  • The symptoms are designed and expected behaviors of SQL Server 64 bit versions.

If you run 64 bit SQL Server and you do not limit memory usage as described below, no other applications should be running on the machine.

Limiting SQL Server Memory:

In SQL Server properties, you can set the Maximum server memory to a reasonable value, not less than 2GB. To calculate the value:

  • Allow 1GB for operating system and the SEG, ECM, or WebMarshal Array Manager.
  • Allow additional memory for other running applications.
    • Note that a single server (array manager plus processing node) installation of SEG or WebMarshal is not recommended for same server installation with full SQL Server.
  • Allocate the remaining memory (at least 2GB) to SQL using the Maximum server memory setting. 

Notes:

  • When the maximum server memory is set, SQL Server may still consume memory over the set amount.
  • However, SQL Server will surrender memory as required by other applications, down to the "maximum" setting.
  • Be sure to monitor memory usage. In some cases SQL Server has been observed to report "out of memory" and unable to run queries, even with 6GB allocated.

Last Modified 11/11/2020.
https://support.trustwave.com/kb/KnowledgebaseArticle14902.aspx