Сколько оперативной памяти на самом деле используется SQL Server?
Я отлаживаю одно из своих приложений и замечаю, что ОЗУ на моем ядре SQL Server 2005 x64 (работает на Windows 2003 R2 x64) привязано и даже входит в файл подкачки.
Я понимаю, что SQL Server 2005 x64 просто захватывает все, что может, поэтому это может быть нормальным (???). Как проверить, сколько памяти на самом деле используется?
Ответы
Ответ 1
Вам нужно запустить Perfmon (start- > control panel- > Administrative tools- > performance). Счётчики, которые вы хотите, я считаю, находятся в SQL Server: диспетчере памяти. Целевая память сервера - насколько это разрешено принимать, если необходимо, Total Server Memory - насколько она в настоящее время используется. Если вы нажмете "Объяснить", откроется окно с подробными сведениями.
По умолчанию он не отображается и должен использовать все, кроме пары gb памяти (он оставляет это для ОС). Тем не менее, существуют различные ошибки и утечки памяти, которые могут привести к ее переходу в пейджинг.
Ответ 2
В связи с вашим вопросом вы можете захотеть ограничить объем оперативной памяти, на который имеет доступ SQL Server, если вы используете его в общей среде, то есть на сервере, на котором размещается больше, чем просто SQL Server:
- Пуск > Все программы > Microsoft SQL Server 2005: Студия управления SQL Server.
- Подключиться, используя любую учетную запись, имеющую права администратора.
- Щелкните правой кнопкой мыши по базе данных > Свойства.
- Выберите "Память" на левой панели, а затем измените "Параметры памяти сервера" на все, что, по вашему мнению, должно быть выделено SQL Server.
Это поможет облегчить использование SQL Server всей ОЗУ сервера.
Ответ 3
Вам следует изучить счетчики производительности SQL Server\Memory Manager.
Ответ 4
Помните, что общая память сервера - это не то, сколько памяти SQL Server используется в настоящее время.
обратитесь к этой статье Microsoft:
http://msdn.microsoft.com/en-us/library/ms190924.aspx
Ответ 5
Перейдите в студию управления и запустите sp_helpdb <db_name>
, это даст подробное использование диска для указанной базы данных. Запуск без каких-либо значений параметров будет отображать информацию высокого уровня для всех баз данных в экземпляре.
Ответ 6
Самый простой способ увидеть использование ram, если у вас есть доступ к RDP-доступу/консоли, будет просто запускать диспетчер задач - кликать процессы - отображать процессы от всех пользователей, сортировать по ОЗУ - это даст вам использование SQL.
Как было упомянуто выше, чтобы уменьшить размер (который вступит в силу немедленно, не требуется перезапуск) запустите студию управления sql, щелкните сервер, свойства - память и уменьшите макс. Там нет точно идеального числа, но убедитесь, что у сервера нет свободного места для других задач.
Ответы о perfmon правильны и должны использоваться, но они не столь очевидны, как диспетчер задач IMHO.
Ответ 7
- Пуск → Выполнить → perfmon
- Посмотрите на циллионы счетчиков, которые SQL Server устанавливает