Подходит для Windows O / S размер файла подкачки для SQL Server

голоса
16

Есть ли какой-нибудь знает хорошее правило для соответствующего размера файла подкачки для Windows 2003 сервер работает SQL Server?

Задан 05/08/2008 в 18:07
источник пользователем
На других языках...                            


8 ответов

голоса
11

При всем уважении к Рему (которого я очень уважаю), я категорически не согласен. Если ваш файл подкачки достаточно большой, чтобы поддерживать полный дамп, он будет выполнять полный дамп каждый раз. Если у вас есть очень большой объем оперативной памяти, это может привести к крошечному всплеск, чтобы стало главным отключением электричества.

Вы не хотите, чтобы ваш сервер должен выписывать 1 Тб оперативной памяти на диск, если есть один раз временная проблема. Если есть повторяющаяся проблема, вы можете увеличить файл подкачки, чтобы захватить полный дамп. Я буду ждать, чтобы сделать это до тех пор, пока не будет isntructed от PSS (или кто-то другого квалифицированного анализа полного дампа) просить вас, чтобы захватить полный дамп. Очень небольшой процент АБД знать, как анализировать полный дамп. Мини-дамп для устранения достаточных полномочий большинства проблем, которые появляются в любом случае.

Кроме того, если ваш сервер настроен, чтобы позволить 1 ТБ полный дамп и повторяющаяся проблема возникает, сколько свободного места на диске вы рекомендовали бы имея на руках? Вы можете заполнить весь SAN в один уик-энд.

Страница файла 1.5 * RAM была нормой в те дни, когда вы были удачливы иметь SQL Server с 3 или 4 Гб оперативной памяти. Это не так больше. Я оставляю файл подкачки в Windows, размера и настроек по умолчанию на всех производственных серверах (для сервера SSAS, который испытывает давление памяти за исключением).

И просто для уточнения, я работал с серверами, начиная от 2 ГБ оперативной памяти до 2 ТБ оперативной памяти. После более чем 11 лет, я только должен был increae файл подкачки, чтобы захватить полный дамп один раз.

Ответил 05/10/2011 d 22:39
источник пользователем

голоса
10

Ненужные размера ОЗУ, вам все равно придется Pagefile по крайней мере, в 1,5 раза больше объема физической памяти. Это верно, даже если у вас есть RAM машины на 1 ТБ, вам потребуется 1,5 ТБ файл подкачки на диске (звучит странно, но это правда).

Когда процесс запрашивает MEM_COMMIT памяти через VirtualAlloc / VirtualAllocEx, запрашиваемый размер должен быть зарезервированы в файл подкачки. Это было верно в первой системе Win NT, и до сих пор верно и сегодня увидеть Управление виртуальной памяти в Win32 :

Когда память совершается, физические страницы памяти выделяются и пространство резервируется в файл подкачки .

Голые некоторые крайние нечетные случаи, SQL Server всегда будет запрашивать MEM_COMMIT страниц. А учитывая тот факт , что SQL использует динамическое управление памятью политики , которая оставляет за авансовые столько буферного пула , как это возможно (резервы и совершает в терминах VAS), SQL Server будет запрашивать при запуске огромное резервирование пространства в файл подкачки. Если файл подкачки не соответствующего размера ошибки 801/802 начнут появляться в файле ERRORLOG SQL и операций.

Это всегда вызывает некоторую путаницу, поскольку администраторы ошибочно полагают, что большая RAM устраняет необходимость в файл подкачки. На самом деле наоборот происходит, большая RAM увеличивает потребность в файл подкачки, только из-за внутренней работы диспетчера памяти Windows NT. Зарезервирован файл подкачки не, как мы надеемся, никогда не использовали.

Ответил 22/11/2009 d 23:11
источник пользователем

голоса
3

По данным Microsoft, «как объем оперативной памяти в компьютере увеличивается, потребность в файле подкачки уменьшается.» Далее в статье продолжает описывать , как использовать журналы производительности , чтобы определить , сколько из файла подкачки на самом деле используется. Попробуйте настроить файл подкачки системной памяти 1.5X для начала, а затем сделать рекомендуемое мониторинг и вносить коррективы оттуда.

Как определить подходящий размер файла подкачки для 64-разрядных версий Windows,

Ответил 03/08/2010 d 19:58
источник пользователем

голоса
2

Мы недавно были некоторые проблемы с производительностью одного из нашего SQL Server , что мы были не в состоянии полностью Узкие вниз, а на самом деле используются один из наших билетов поддержки Microsoft , чтобы их поиск и устранения. Оптимальный размер файла подкачки для использования с SQL Server подошел, и рекомендация Microsoft является то , что это будет 1 1/2 раза объем оперативной памяти .

Ответил 10/09/2009 d 06:05
источник пользователем

голоса
2

Чем больше, тем лучше до размера рабочего набора приложения, в котором вы начнете получать в убывающие. Вы можете попытаться найти это, медленно увеличивая или уменьшая размер, пока не увидите значительные изменения в частоте попадания в кэш. Однако, если кэш достиг скорости более 90% или так что вы, вероятно, хорошо. Как правило, вы должны следить за этим в производственной системе, чтобы убедиться, что она не переросла его распределение RAM.

Ответил 23/12/2008 d 15:45
источник пользователем

голоса
1

После долгих исследований наши выделенные серверы SQL под управлением Enterprise x64 на Windows 2003 Enterprise x64 нет файла подкачки.

Проще говоря, файл подкачки кэш файлов, который получает под управлением ОС и SQL имеет собственную внутреннюю систему управления памятью.

В статье MS ссылка не отвечает требованиям, что совет для ОС работает вне коробки услуг, таких как общий доступ к файлам.

Имея файл подкачки просто обременяет дискового ввода / вывода, поскольку Windows, пытается помочь, когда только SQL OS может сделать эту работу.

Ответил 24/05/2011 d 13:47
источник пользователем

голоса
1

Если вы ищете высокую производительность, вы будете хотеть, чтобы избежать пейджинга полностью, поэтому размер файла подкачки становится менее значимым. Инвестируйте в столько оперативной памяти, насколько это возможно для сервера БД.

Ответил 11/08/2008 d 13:22
источник пользователем

голоса
0

В этом случае нормальная рекомендация в 1,5 раза общей физической памяти не является лучшим. Это очень общая рекомендация предоставляются в предположении, что вся память в настоящее время используются «нормальными» процессы, которые в общем случае могут иметь свои наименее используемые страницы перемещены на диск без создания массовых проблем производительности для процесса нанесения памяти принадлежит.

Для серверов, работающих под управлением SQL Server (как правило, с очень большим объемом оперативной памяти), большая часть физической памяти стремится к процессу SQL Server и должен быть (если настроена правильно) заблокирована в физической памяти, предотвращая его выгружена в файл подкачки , SQL Server очень осторожно управляет своей собственной памятью с учетом производительности, используя большую часть оперативной памяти, выделенной для своего процесса в качестве кэша данных для уменьшения дискового ввода / вывода. Это не имеет смысла страницы из этих данных, страницы кэша в файл подкачки, так как единственная цель того, что данные в оперативной памяти в первую очередь уменьшить количество дисковых операций ввода / вывода. (Обратите внимание, что операционная система Windows использует доступную оперативную память подобно тому, как дисковый кэш для ускорения работы системы.) Поскольку SQL Server уже управляет свое собственное пространство памяти, это пространство памяти не следует рассматривать как «выгружаемой», и не включаются в расчет для файла подкачки размер.

В отношении MEM_COMMIT упомянутой Рема, терминология сбивает с толку , потому что в виртуальной памяти просторечии, «зарезервирован» никогда не относится к фактическому распределению, но предотвращение использования адресного пространства (не физическое пространство) другим процессом. Память доступная быть «привержен» в основном равна сумме физической памяти и файла подкачки размера, и делает MEM_COMMIT просто вычитает сумму , доступную в совершенном бассейне. Он не выделить страницу соответствия в файле подкачки в то время. Когда убежденный страница памяти на самом деле написано в, то есть когда система виртуальной памяти будет выделить страницу физической памяти и , возможно , поднять другую страницу памяти из оперативной памяти в файл подкачки. См MSDN в функцию VirtualAlloc ссылки.

Операционная система Windows отслеживает давление памяти между прикладными процессами и его собственный механизм кэширования диска и решает, когда он должен врезаться нелокированных страниц памяти из физического в файл подкачки. Я понимаю, что наличие файла подкачки, который слишком велик по сравнению с фактическим отсутствием автоподстройки пространства памяти может привести к Windows, overzealously пейджинговой из памяти приложения в файл подкачки, в результате чего в этих условиях, осложненных последствия страницы промахов (медленная работа).

Пока сервер не работает другие процессы памяти голодных, размер файла подкачки 4 ГБ должно быть много. Если установлен SQL Server, чтобы запирающие страниц в памяти, вы должны также рассмотреть возможность установки максимального памяти SQL Server, так что он оставляет некоторую физическую память, доступную для ОС для себя и других процессов.

802 ошибок в SQL Server означает, что система не может совершать какие-либо дополнительные страницы для кэша данных. Увеличение размера файла подкачки только поможет в этой ситуации постольку, поскольку Windows, способен страницы из памяти от процессов, не SQL Server. Разрешение памяти SQL Server расти в файл подкачки в этой ситуации может избавиться от сообщений об ошибках, но это приводит к обратным результатам, в связи с точкой ранее о причине кэш данных в первую очередь.

Ответил 04/04/2014 d 00:51
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more