Назад | Перейти на главную страницу

Использование памяти SQL Server

Экземпляр SQL Server на моем сервере использует почти всю память, доступную на моем физическом сервере. Скажем, если у меня 8 ГБ ОЗУ, то SQL Server использует 7,8 ГБ ОЗУ из системы. Я также читал статьи, а также читал много похожих вопросов на этом форуме, и я понимаю, что память зарезервирована и использует память.

Но у меня есть 2 одинаковых сервера и 2 сервера SQL, почему это происходит на одном экземпляре SQL, а не на другом. Также, когда я запускаю DBCC MemoryStatus, он отображается ...

VM Reserved 8282008
VM Committed 537936

Итак, из этого мы знаем, что SQL зарезервировал все 8 ГБ памяти, но почему эта виртуальная машина продолжает увеличиваться. Я понимаю, что VM Committed:

Зафиксировано VM: это значение показывает общий объем VAS, зарезервированного SQL Server. Фиксированный VAS был связан с физической памятью.

Итак, это память, которую SQL Server выделил (из этого я понимаю, что на самом деле SQL Server использует физическую память).

Поэтому хотелось бы знать причину этого постоянно увеличивающегося объема памяти, выделенной виртуальной машиной на моем сервере, а не на другом. Заранее спасибо.

SQL Server, вероятно, кэширует данные в памяти для ускорения запросов в будущем.

SQL Server и RAM

Я предполагаю, что ваши два сервера являются при разных нагрузках.

VM Reserved 8282008 = Чем больше объем вашей физической памяти и сконфигурированные параметры памяти, либо:

SELECT CAST(value_in_use AS INT) * 1024 FROM sys.configurations WHERE name = 'max server memory (MB)' 
SELECT physical_memory_in_bytes / 1024 FROM sys.dm_os_sys_info

VM Committed 537936 = Фактическая память, используемая SQL Server в данный момент.