Экземпляр 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, вероятно, кэширует данные в памяти для ускорения запросов в будущем.
Я предполагаю, что ваши два сервера являются при разных нагрузках.
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 в данный момент.