0

I Works as a DBA and "inherited" about 50 instances (all server has about 8GB-24GB of RAM), all of them are configured Min Server Memory equal to Max Server Memory, and 4GB RAM reserved to OS.

  1. Should I let SQL server to acquire and release by itself (Min Server Memory = 0)?
  2. Is it possible to get CPU overload by MSSQL Dynamic Memory Manager?

1 Answers1

1

all of them are configured Min Server Memory equal to Max Server Memory, and 4GB RAM reserved to OS.

Barring few cases keeping min and max server memory same can be counter productive. In such configuration when low memory flag is signaled SQL Server will not trim down its memory consumption below min server memory value. If memory pressure is severe SQL Server process may be paged to disk causing immense SQL Server slowness. To make this configuration worse if you have min and max server memory same and you on top of that provide LPIM to SQL Server service account this would be tantamount to SQL Server saying "do what you can I am not going to release memory". Such configuration can cause paging of OS process which requested memory or caused severe memory pressure, and even may lead to unexpected shutdown of OS.

Should I let SQL server to acquire and release by itself (Min Server Memory = 0)?

Please leave it to default value. On a system having multiple SQL Server instances and if you are biased to one of the system and want that its memory consumption, once reached, should not go below certain value then you can set min server memory to this threshold. On all other cases let min server memory be default.

Is it possible to get CPU overload by MSSQL Dynamic Memory Manager?

No that I know, never heard or came across such scenario. The memory code works to balance memory across SQL Server process and this not overload CPU. Even when SQL Server is growing its memory consumption you would hardly notice CPU rising because of growth, it may be due to other processes running.

Shanky
  • 19,148
  • 4
  • 37
  • 58