Настройка файла подкачки windows server 2008 r2

Есть сервер Windows 2008 R2 Enterprise
  • Remove From My Forums
  • Общие обсуждения

  • Есть сервер Windows 2008 R2 Enterprise

    на борту 256GB ОЗУ, но нет возможности подключить большой диск, установили лимит файла подкачки до 15GB, сейчас возникли проблемы что некоторые приложения отказываются запускаться из-за нехватки виртуальной памяти, и это при том что еще больше половины физической
    памяти свободно согласно данным в Мониторе ресурсов.

    вопрос: как можно объяснить такое поведение системы. и как можно избавиться от такого ?

    • Изменен тип

      15 июня 2012 г. 12:09

This Microsoft article — How to determine the appropriate page file size for 64-bit versions of Windows Server 2008 and or Windows 2008 R2 provides guidance for calculating the page file size for 64 bit Windows 2008 and Windows 2008R2. This no doubt works fine for general purpose servers. I’m wondering what the guidance is for SQL Server 2008R2 running on Windows 2008/R2 64 bit?

I’m presuming we want as little in memory data to be hitting the page file otherwise SQL could be hitting the disk twice for data. Does SQL Server even allow data in memory to hit the page file? I’ve hunted through SQL Server 2008 R2 Books Online for guidance but haven’t yet found any mention of page file use.

Here’s a potential usage scenario: Given a physical server with 64GB of RAM, is a pagefile necessary for the entire 64GB of RAM? Should we gear it up for 96GB of pagefile? That does seem a bit excessive for a single file. I know conventional wisdom has been that Windows couples pagefile to memory in an attempt to make swapping out apps easier on RAM, but is that true? Will a less than 64GB pagefile hinder performance here?

Leigh Riffel's user avatar

Leigh Riffel

23.7k16 gold badges76 silver badges148 bronze badges

asked Jun 15, 2011 at 14:17

Kev's user avatar

0

There are no special settings for SQL Server which only uses physical memory normally

Just do what MS say for Windows and that’s it

Oh, and buy more RAM anyway while we’re one the subject… ;-)

answered Jun 15, 2011 at 14:21

gbn's user avatar

gbngbn

69.3k8 gold badges160 silver badges240 bronze badges

0

Look into lock pages in memory. This way, you can give preference for your SQL service account to use available RAM rather than paging to disk. To read more on lock pages in memory, check this link. A snippet follows:

The Windows policy Lock Pages in Memory option is disabled by default. This privilege must be enabled to configure Address Windowing Extensions (AWE). This policy determines which accounts can use a process to keep data in physical memory, preventing the system from paging the data to virtual memory on disk. On 32-bit operating systems, setting this privilege when not using AWE can significantly impair system performance. Locking pages in memory is not required on 64-bit operating systems.

Please test this feature before using on your systems.

answered Jun 15, 2011 at 18:13

StanleyJohns's user avatar

StanleyJohnsStanleyJohns

5,9322 gold badges20 silver badges44 bronze badges

1

Yes, for 64GB RAM you need at least 64GB swap file (96GB recommended). Not because of potential swapping, but because of the design of the Windows Memory Manager. I’ve wrote about this issue before in System pagefile size on machines with large RAM:

When a process asks for MEM_COMMIT memory via
VirtualAlloc/VirtualAllocEx, the requested size needs to be reserved
in the pagefile. This was true in the first Win NT system, and is
still true today see Managing Virtual Memory in Win32:

When memory is committed, physical pages of memory are allocated and space is reserved in a pagefile.

The alternative would be something like the oom_killer.

So do follow the recommendation, sometimes things are a bit more complex than they look. And I haven’t even touched the complications brought by AWE and the lock pages privilege…

Community's user avatar

answered Aug 6, 2011 at 17:24

Remus Rusanu's user avatar

Remus RusanuRemus Rusanu

51.4k3 gold badges93 silver badges171 bronze badges

5

This Microsoft article — How to determine the appropriate page file size for 64-bit versions of Windows Server 2008 and or Windows 2008 R2 provides guidance for calculating the page file size for 64 bit Windows 2008 and Windows 2008R2. This no doubt works fine for general purpose servers. I’m wondering what the guidance is for SQL Server 2008R2 running on Windows 2008/R2 64 bit?

I’m presuming we want as little in memory data to be hitting the page file otherwise SQL could be hitting the disk twice for data. Does SQL Server even allow data in memory to hit the page file? I’ve hunted through SQL Server 2008 R2 Books Online for guidance but haven’t yet found any mention of page file use.

Here’s a potential usage scenario: Given a physical server with 64GB of RAM, is a pagefile necessary for the entire 64GB of RAM? Should we gear it up for 96GB of pagefile? That does seem a bit excessive for a single file. I know conventional wisdom has been that Windows couples pagefile to memory in an attempt to make swapping out apps easier on RAM, but is that true? Will a less than 64GB pagefile hinder performance here?

Leigh Riffel's user avatar

Leigh Riffel

23.7k16 gold badges76 silver badges148 bronze badges

asked Jun 15, 2011 at 14:17

Kev's user avatar

0

There are no special settings for SQL Server which only uses physical memory normally

Just do what MS say for Windows and that’s it

Oh, and buy more RAM anyway while we’re one the subject… ;-)

answered Jun 15, 2011 at 14:21

gbn's user avatar

gbngbn

69.3k8 gold badges160 silver badges240 bronze badges

0

Look into lock pages in memory. This way, you can give preference for your SQL service account to use available RAM rather than paging to disk. To read more on lock pages in memory, check this link. A snippet follows:

The Windows policy Lock Pages in Memory option is disabled by default. This privilege must be enabled to configure Address Windowing Extensions (AWE). This policy determines which accounts can use a process to keep data in physical memory, preventing the system from paging the data to virtual memory on disk. On 32-bit operating systems, setting this privilege when not using AWE can significantly impair system performance. Locking pages in memory is not required on 64-bit operating systems.

Please test this feature before using on your systems.

answered Jun 15, 2011 at 18:13

StanleyJohns's user avatar

StanleyJohnsStanleyJohns

5,9322 gold badges20 silver badges44 bronze badges

1

Yes, for 64GB RAM you need at least 64GB swap file (96GB recommended). Not because of potential swapping, but because of the design of the Windows Memory Manager. I’ve wrote about this issue before in System pagefile size on machines with large RAM:

When a process asks for MEM_COMMIT memory via
VirtualAlloc/VirtualAllocEx, the requested size needs to be reserved
in the pagefile. This was true in the first Win NT system, and is
still true today see Managing Virtual Memory in Win32:

When memory is committed, physical pages of memory are allocated and space is reserved in a pagefile.

The alternative would be something like the oom_killer.

So do follow the recommendation, sometimes things are a bit more complex than they look. And I haven’t even touched the complications brought by AWE and the lock pages privilege…

Community's user avatar

answered Aug 6, 2011 at 17:24

Remus Rusanu's user avatar

Remus RusanuRemus Rusanu

51.4k3 gold badges93 silver badges171 bronze badges

5

logo_virtualnaya_pamatНаверняка каждый пользователь сталкивался с ситуацией, когда компьютеру для нормальной работы не хватает оперативной памяти, вследствие чего операционная система обращается за помощью к так называемой виртуальной памяти, чтобы восполнить данную нехватку. О том, что такое виртуальная память, и как ее увеличить и читайте в данной статье.

0. Виртуальная память, что это такое?

Под понятием виртуальная память следует понимать сочетание памяти временного хранилища и оперативного запоминающего устройства (ОЗУ) на жестком диске (винчестере).

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

virtualnaya_pamat_01

1. Влияние ОЗУ на скорость работы программ

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

2. Увеличение виртуальной памяти

Если всплывает окно с сообщением об ошибках, вызванных недостаточным размером виртуальной памяти, следует выполнить одно из двух действий, либо увеличить размер файла подкачки, либо добавить ОЗУ.

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

Чтобы это осуществить, необходимо выполнить следующие действия:

В Windows XP: Необходимо правой кнопкой мышки щелкнуть на значок «Мой компьютер» после чего перейти по пункту «Свойства».

В Windows Vista и старше: Перейдем в «Панель управления» — «Система и безопасность» — «Система» — «Дополнительные параметры системы»

virtualnaya_pamat_02

Откроется окно «Свойства системы». Перейдем на вкладку «Дополнительно» и нажмем «Параметры» быстродействия.

virtualnaya_pamat_03

Откроется окошко, в котором нужно выбрать вкладку «Дополнительно», затем нажать «Изменить» в группе «Виртуальная память».

virtualnaya_pamat_04

Снимем флаг «Автоматически выбирать объем файла подкачки» и, выбрав диск, с которого будет осуществляться подкачка файла, устанавливаем значения исходного и максимального размеров виртуальной памяти. Необходимо в исходный размер записать рекомендуемое число, а в максимальном размере установить большое значение, например число 7000. После этого нажать на кнопку «Задать».

virtualnaya_pamat_05

После этого следует принять все изменения, нажав в каждом окне кнопку «Ок» и перезагрузить компьютер.

Windows Сервер 2008 работает более 10 лет, многие администраторы заменили системный диск на SSD или HDD большего размера. Тем не менее, многие люди до сих пор пишут, что C диск не хватает места. В этой статье объясняется, почему на системном диске C не хватает места в Windows Server 2008 R2 и как быстро и легко решить эту проблему.

Содержание:

  1. Почему на диске C не хватает места в Windows 2008 сервер
  2. Базовое решение, когда на диске C не хватает места
  3. Продвинутые методы C изгонять место в Server 2008

Не хватает места

Почему на диске C не хватает места в Windows 2008 сервер

Windows Server 2008 Недостаток места на диске C является наиболее распространенной проблемой, независимо от того, построен ли этот сервер с физическим диском или массивом RAID. Эта проблема раздражает, потому что мало кто может исправить ее полностью, многие люди сталкиваются с этой проблемой снова и снова, особенно когда системный раздел C создается маленьким. Прежде чем исправлять эту проблему, вам лучше выяснить, почему на диске C не хватает места в Windows Сервер 2008

1. Вызывается вирусом

Некоторый вид вируса может постоянно дублировать себя или другие файлы. Тем не менее, это чрезвычайно редкий увидеть. Только когда на диске C достаточно свободного места, но на нем не хватает места за очень короткое время, вы можете рассмотреть возможность сканирования разделов диска.

2. Windows ошибка

На некоторых серверах Windows может вычислить свободное место неправильно, но то же самое с первым, это чрезвычайно редкий видеть.

3. Заполнение ненужными файлами

На диске C: диск каждый день создается множество типов ненужных файлов, например: временный, кеш браузера, журналы, загрузка, Windows Обновления. Если вы не очищаете диск регулярно, будет накоплено большое количество ненужных файлов. С помощью программного обеспечения для оптимизации системы или Windows Родная утилита очистки диска, эти файлы можно безопасно удалить с сервера.

4. Заполнение программами

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

Когда система C: на диске не хватает места в Windows 2008 Server, вам лучше исправить эту проблему как можно быстрее. В противном случае сервер зависнет, неожиданно перезагрузится или даже выйдет из строя.

Базовое решение, когда на диске C не хватает места

Как я уже говорил выше, в системном разделе C создается много ненужных файлов, вы можете освободить место на диске, удалив их. Чтобы выполнить эту задачу, Windows Server 2008 имеет собственный инструмент очистки диска. Он может быстро и безопасно удалить наиболее распространенные типы мусора и ненужные файлы.

Как исправить нехватку места на диске C в Server 2008 R2 через очистку диска:

  1. Нажмите Windows и R вместе на клавиатуре наберите cleanmgr и нажмите Enter.
  2. Выберите C: диск в раскрывающемся списке.
  3. Установите флажки напротив файлов, которые вы хотите удалить.
  4. Подтвердите и начните удаление.
  5. Повторите, чтобы очистить системные файлы.

Если вы получаете сообщение об ошибке «cleanmgr», это означает, что вы не включили очистку диска для этого сервера, затем выполните шаги, чтобы установить и включить очистку диска на Server 2008.

Clean up disk

Расширенные методы исправления нехватки места на диске C в Server 2008

Если вы никогда раньше не очищали диск, вы можете освободить несколько гигабайт свободного места. Если вы не можете восстановить более 20 ГБ свободное место на диске C, вам лучше продолжить следующие методы.

4 полезных способа исправить Windows Server 2008 На диске C заканчивается место:

Сброс файла подкачки

Файл подкачки использует часть дискового пространства в качестве виртуальной памяти и по умолчанию находится на диске C. Вы можете уменьшить его или изменить на другой раздел, шаги:

  1. Нажмите Windows и R на клавиатуре, чтобы запустить Run.
  2. Тип sysdm.cpl, 3 и нажмите Enter.
  3. Нажмите Настройки под выступлением в Дополнительно меню.
  4. Нажмите Изменить под виртуальной памятью.
  5. Снимите флажок Автоматически управлять размером файла подкачки для всех дисков в верхней части.
  6. Выберите D: или другой диск, введите количество начального размера и максимального размера в Размер клиента переключатель, а затем нажмите Поставьте.
  7. Выберите C: диск и выберите Нет файла подкачки переключатель, затем нажмите Set.
  8. Нажмите OK.

Сбросить корзину

Все файлы, которые были удалены нажатием клавиши DEL без клавиши SHIFT, попадут в корзину, где вы можете вручную вернуть эти файлы в исходное местоположение, если удалили их по ошибке. Когда диск системы C почти заполнен, вы можете уменьшить использование дискового пространства или изменить расположение корзины на другой том. шаги:

  1. Щелкните правой кнопкой мыши Корзина на рабочем столе и нажмите Объявления.
  2. Выберите диск для корзины.
  3. Выберите Размер клиента и введите сумму.

Удаление программ и функций

Нажмите Windows и X на клавиатуре выберите Программы и компонентыщелкните правой кнопкой мыши элемент, который вы хотите удалить, и нажмите Удалить.

Добавьте больше свободного места на диск C

Этот шаг очень важен, потому что мало кто может освободить более 20 ГБ свободного места для системного раздела C, поэтому многие люди жалуются, что на диске C не хватает места в Windows 2008 сервер снова в скором времени. С программное обеспечение безопасного раздела такой как NIUBI Partition Editor, вы можете перенести больше свободного места на диск C из других разделов.

Сжимайте раздел данных на том же диске, тогда часть свободного пространства будет изменена на Незанятое. Такое пространство можно объединить с диском C и заменить на свободное пространство. Таким образом, на диске C снова будет много свободного места, и больше ничего не делать. Операционная система, программы и соответствующие настройки, а также все остальное остались прежними.

Скачать NIUBI Partition Editor и следуйте инструкциям в видео, чтобы увеличить место на диске C in Windows Server 2008:

Video guide

Чем больше диск C, тем меньше вероятность того, что ему снова не хватит места. Лучше, чем другие программы, NIUBI обладает уникальным 1 второй откат, Виртуальный режим и Отменить-на-хорошо технологии для защиты системы и данных.

Вывод:

Когда на диске системы C заканчивается свободное место в Windows Server 2008 (R2), сначала освободите дисковое пространство с помощью собственной утилиты очистки диска. затем добавить больше свободного места на диске C с NIUBI Partition Editor, Ежемесячно запускайте очистку диска, чтобы удалить новые сгенерированные ненужные файлы.

Настройка виртуальной памяти
Виртуальная память позволяет расширить объем доступной оперативной памяти (RAM) за счет дискового пространства. Эта возможность впервые появилась в процессорах Intel 386. Запись содержимого RAM на диски называется подкачкой. Определенный объем памяти, скажем, 1024 Мб, записывается на диск в виде файла. При необходимости обращения к нему чтение осуществляется с диска, а не из физической RAM.

Исходный файл подкачки автоматически создается на диске, содержащем операционную систему. По умолчанию на других дисках файлов подкачки нет. Если они нужны, вам придется создать их вручную. Создавая файл подкачки, вы задаете начальный и максимальный размеры. Файлы подкачки записываются на том под именем PAGEFILE.SYS.

Чтобы вручную сконфигурировать виртуальную память, выполните следующие действия:

1. Перейдите на вкладку Дополнительно (Advanced) диалогового окна Свойства системы (System Properties) и щелкните кнопку Параметры (Settings) в разделе Быстродействие (Performance). Откроется диалоговое окно Параметры быстродействия (Performance Options). Тут Вы так же сможете найти счетчик посещаемости сайта, если Ваш сервер так же имеет Веб-интерфейс и счётчик настроен.

2. В диалоговом окне Параметры быстродействия (Performance Options) перейдите на вкладку Дополнительно (Advanced). Щелкните кнопку Изменить (Change), чтобы открыть диалоговое окно Виртуальная память (Virtual Memory). На нем представлена следующая информация:

• Диск [Метка тома] (Drive [Volume Label]) и Файл подкачки (Мб) (Paging File Size (MB)) Текущие параметры виртуальной памяти. Каждый том выводится с соответствующим файлом подкачки (если он присутствует). Диапазон указывает значения начального и максимального размера, заданные для файла подкачки.

• Размер файла подкачки для каждого диска (Paging File Size For Each Drive) Здесь показаны сведения по выбранному диску, и задаются размеры файла подкачки на нем. В поле Свободно (Space Available) показано, сколько пространства доступно на диске.

• Общий объем файла подкачки на всех дисках (Total Paging File Size For All Drives) Рекомендуемый для системы размер виртуальной памяти и реальный объем, выделенный в данный момент. Если вы впервые настраиваете виртуальную память, обратите внимание, что файл рекомендуемого размера уже есть на системном диске (в большинстве случаев).

3. По умолчанию Windows Server 2008 управляет размером файла подкачки для всех дисков. Чтобы настроить виртуальную память вручную, сбросьте флажок Автоматически выбирать объем файла подкачки (Automatically Manage Paging File Size For All Drives).

4. В списке Диск (Drive) выберите том, с которым хотите работать.

5. Установите переключатель Указать размер (Custom Size) и заполните поля Исходный размер (Initial Size) и Максимальный размер (Maximum Size).

6. Щелкните кнопку Задать (Set) для сохранения изменений.

7. Повторите шаги 4-6 для каждого тома, который хотите сконфигурировать.

8. Щелкните ОК. Если на экране появится сообщение о перезаписи существующего файла PAGEFILE.SYS, щелкните Да (Yes).

9. Если вы, обновили настройки файла подкачки, который используется в данный момент, на экране появится сообщение о том, что изменения вступят в силу после перезагрузки системы. Щелкните ОК.

10. Дважды щелкните ОК, чтобы закрыть открытые диалоговые окна. Закрывая окно Система (System), вы увидите сообщение с запросом, хотите ли вы перезапустить систему. Щелкните Перезагрузить (Restart).

Чтобы Windows Server 2008 автоматически управляла виртуальной памятью, выполните следующие действия:

1. Перейдите на вкладку Дополнительно (Advanced) диалогового окна Свойства системы (System Properties) и щелкните кнопку Параметры (Settings) в разделе Быстродействие (Performance). Откроется диалоговое окно Параметры быстродействия (Performance Options).

2. В диалоговом окне Параметры быстродействия (Performance Options) перейдите на вкладку Дополнительно (Advanced). Щелкните кнопку Изменить (Change), чтобы открыть диалоговое окно Виртуальная память (Virtual Memory).

3. Установите флажок Автоматически выбирать объем файла подкачки (Automatically Manage Paging File Size For All Drives).

4. Трижды щелкните OK, чтобы закрыть открытые диалоговые окна.

По состоянию на 2009 год

Эта статья – вольная интерпретация рекомендаций: Microsoft, IBM, HP, Dell, QLogic, LSI, EMC, ACER, Bull, Fujitsu, Hitachi, NEC и Unisys. Некоторые рекомендуемые настройки требуют отдельного, обстоятельного разговора, и потому не включены в эту статью, а найти эти рекомендации можно в моём блоге.

Материал подготовил Александр Гладченко.

Обновление установки Windows

После установки Windows Server 2008 x64, установите последний сервисный пакет обновлений (Service Pack), обязательно установите выходившие после сервисного пакета исправления безопасности и последние версии драйверов и аппаратных прошивок.

Настройка файла подкачки Windows

Размер файла подкачки Windows в случае размещения на сервере только SQL Server не играет такой важной роли, как в типовых сценариях. SQL Server старается избегать листания. Размер файла подкачки можно выбрать небольшим, чтобы его было достаточно для формирования мини-дампов. Если сервер также обслуживает приложения, которые нуждаются в файле подкачки, размер его стоит выбирать в полтора раза больше, чем размер физической памяти сервера, но не более 50Гб. В случае монопольного владения ресурсами SQL Server, размещать файл подкачки можно на том же диске, где базируется операционная система. Минимальная активность работы с файлом подкачки не будет создавать конкуренцию другим задачам. В Windows Server 2003 имеется несколько предлагаемых вариантов настройки файла подкачки, он может настраиваться жёстко, может отсутствовать вообще или его размер будет управляться операционной системой. В последнем случае, Windows создаст файл подкачки, размер которого на один Мегабайт будет превышать размер физической памяти сервера. Такой выбор обусловлен тем, что ровно столько места необходимо для создания полного дампа памяти после аварии с выдачей “синего экрана”. Если вас такой дамп не интересует, можно взять управление размером файла подкачки в свои руки.

Настройка размера системных журналов

Размеры системных журналов стоит выбирать такими, чтобы их открытие для анализа или копирование по сети выполнялось за приемлемое время.

Настройка локальных политик Windows

Ограничьте размер системных дампов физической памяти размером 64 Гб, большой размер дампа непрактичен с точки зрения отладки. Можно оптимизировать управление памятью и существенно сократить листания с помощью установки локальной политики для пользователя, от имени которого запускается служба SQL Server. Политика называется “Lock pages in memory“, располагается она в узле “User rights assignment” локальных политик. Оболочку менеджера политик можно вызвать из командной строки, набрав там gpedit.msc и нажав ввод.

Ещё одной полезной локальной пользовательской политикой является мгновенная инициализация файла данных: “Выполнение задач обслуживания тома” (Perform Volume Maintenance). Для файлов журналов эта политика неприменима. Однако, включение этой политики хоть и позволяет сделать процесс создания файла данных, его приращение или восстановление практически мгновенным, оно чревато повышением рисков безопасности, т.к. инициализация не будет сопровождаться перезаписью новых файлов или приращиваемых к ним областей нулями. Т.е. существует риск, что расположенная в этих областях информация будет доступна для чтения и к удаленной ранее информации смогут получить доступ неавторизированные участники. Дополнительную информацию по безопасности этой операции можно найти в главе SQL Server Books Online: “Инициализация файлов базы данных“. Одной из альтернатив этому методу, также очень быстро позволяющей выполнять задачи создания и приращения файлов, является размещение файлов баз данных на “сырых” разделах (RAW).

Настройка Панели Управления Windows

Чтобы исключить снижение производительности в режиме энергосбережения, в оснастке “Электропитание” (Power Options) нужно выбрать режим “Высокая производительность” (High Performance). Стоит также убедиться, что сервер никогда не будет переключаться в спящий режим.

На закладке “Визуальные эффекты” можно отключить расходование процессорного времени на некритичные для работы сервера эффекты, выбрав режим “Обеспечить наилучшее быстродействие” (Adjust for best performance).

Настройка конфигурации системы

Отключите контроль учётных записей UAC. Для этого нажмите кнопку “Пуск” (Start), в списке “Программы” (All Programs) перейдите к папке “Администрирование” (Administrative Tools) и запустите утилиту “Конфигурация системы” (System Configuration). Отключить UAC можно на закладке “Сервис” (Tools), выбрав из списка средств задачу: “Отключите контроль учётных записей UAC”. Для применения изменений необходима перезагрузка системы.

Настройка кэширования ввода-вывода

Для включения кэширования операционной системой операций ввода-вывода логических дисков воспользуйтесь оснасткой Disk Management или Device Manager, перейдя в ней в узел Disk Drives. Для каждого настраиваемого устройства логического диска нужно выбрать Свойства (Properties) и перейти на закладку Policies. Для индивидуальной настройки дисков лучше подходит оснастка Disk Management, там настройки выполняются из свойств дисков, которые вызываются в графической, нижней части окна оснастки. Включение чекбокса “Enable write caching on the disk” разрешает кэширование записи на диск. После пометки этого чекбокса становится доступен для пометки второй чекбокс: “Enable advanced performance“. Включение обеих чекбоксов не только разрешает кэширование, но и заставляет операционную систему изымать из запросов ввода-вывода команды прямой записи на диск и сброса дискового кэша. Не рекомендуется включать эти чекбоксы если аппаратные кэши не имеют защиты от потери электропитания.

Если логический диск представлен внешним дисковым массивом, который оснащён аппаратным кэшем с батарейкой, можно не помечать второй чекбокс: “Enable advanced performance”. Однако, пометка этого чекбокса может повысить производительность записи в журнал транзакций.

Для вступления в силу изменений настроек кэша дисков перезагрузки сервера не требуется.

Настройка параметров сетевых плат

В окне Local Area Connection Properties мастера Network Connections панели управления Windows можно вызвать окно параметров сетевой платы, если нажать кнопку Configure. В этом окне на закладке Advanced перечислены несколько параметров, некоторые из них могут существенно влиять на производительность обмена данными по сети.

Link Speed and Duplex

Лучшим решением зачастую является согласованный выбор полнодуплексного режима связи в свойствах сетевой платы и в свойствах порта сетевого коммутатора/концентратора. Это не означает, что выбор автоматической подстройки там и тут будет работать хуже, просто история помнит такие случаи…

Существует ещё ряд распространённых параметров, настройка которых может помочь поднять производительность сетевого интерфейса (например, Receive Buffers, Coalesce Buffers, Offload features и т.п.). Чтобы выдрать верные значения для подобных параметров, обратитесь к документации производителя сетевой платы.

Для того чтобы исключить возможность отключения сетевого интерфейса в целях оптимизации энергопотребления сервера, стоит на закладке Power Management убрать пометку чекбокса “Allow the computer to turn off this device to save power“.

Отключение неиспользуемых протоколов

Для того чтобы убрать незначительную дополнительную нагрузку, создаваемую для обслуживания неиспользуемых сетевых протоколов, предлагается отключить или деинсталлировать такие протоколы. Например, первым кандидатом на отключение является TCP/IPv6, в силу пока ещё своей малой распространённости. Сделать это можно в окне Local Area Connection Properties мастера Network Connections панели управления Windows.

SQL Server также использует по умолчанию несколько протоколов, отключить лишние из них позволяет оснастка SQL Server Configuration Manager, в которой протоколы перечислены в узле “Сетевая конфигурация SQL Server”.

В большинстве случаев и в свойствах сетевого интерфейса и в протоколах SQL Server достаточно ограничится использованием протокола TCP/IPv4.

Если же требуется поддерживать несколько протоколов, стоит задать приоритеты использования протоколов и их провайдеров в окне Advanced Settings мастера Network Connections.

Настройка антивирусного программного обеспечения

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

Необходимо настроить исключение сканирования файлов баз данных, журналов транзакций и резервных копий, которые типично имеют разрешения: mdf, ldf, ndf, bak и trn. Это позволит предотвратить повреждение этих файлов при попытке со стороны SQL Server их открытия, когда они уже открыты для проверки антивирусным ПО. Кроме того, необходимо принять меры для защиты каталогов полнотекстового поиска и содержащих данные Analysis Services от повреждений, связанных с активностью антивирусного программного обеспечения. Исключите также папку журналов SQL Server (MSSQLLog), журнал ошибок открыт постоянно и в него может выводиться много событий. Если антивирусное ПО планируется использовать совместно с SQL Server работающем в кластере, нужно исключить сканирование кворум – диска и каталога: “c:WindowsCluster”. Для получения более подробной информации о требованиях к настройкам антивирусного ПО обратитесь к статье базы знаний Майкрософт: Guidelines for choosing antivirus software to run on the computers that are running SQL Server.

Во избежание вмешательства в работу служб SQL Server и для предотвращения увеличения времени их запуска из-за сканирования антивирусным ПО, рекомендуется исключить из проверки службы SQL Server. Наиболее распространенными в использовании являются службы: sqlservr.exe, sqlagent.exe, sqlbrowser.exe и sqlwriter.exe

Дополнительные рекомендации: Рекомендации по использованию антивирусных программ для компьютеров под управлением Windows Server 2003, Windows 2000 и Windows XP.

Управление памятью в SQL Server

SQL Server, при необходимости, старается заполучить всю доступную ему оперативную память компьютера. Если установлено несколько экземпляров SQL Server, вероятна конкуренция за ресурсы памяти между менеджерами динамической памяти каждого экземпляра. До появления в SQL Server 2008 средств регулировки ресурсов, единственной возможностью снижения конкуренции за память между разными экземплярами была установка в глобальной конфигурации экземпляра SQL Server ограничений для максимального и минимального объемов используемой физической памяти. Кроме того, хорошей практикой считается оставлять не менее 10% оперативной памяти для нужд операционной системы.

Настройка параметров глобальной конфигурации SQL Server

affinity I/O mask

Этот параметр глобальной конфигурации позволяет изолировать обслуживание ввода-вывода данного экземпляра SQL Server одним или несколькими ядрами процессоров. Привязка ввода-вывода позволяет закрепить за вводом-выводом фиксированное число планировщиков. По умолчанию и в большинстве случаев маску привязки процессоров к вводу-выводу устанавливают в ноль, разрешая SQLOS самой управлять подобной привязкой. Чаще всего это позволяет получить максимальную производительность, однако, для некоторых типов рабочей нагрузки (которым характерны высокие нормы ввода-вывода), производительность может быть выше, если жёстко привязать ввод-вывод к одному или более ядру. Например, можно выделить одно ядро для ввода-вывода, как это показано ниже, в примере сценария для 16-ти ядерного сервера:

    exec sp_configure ‘affinity mask’,0xFFFE
    exec sp_configure ‘affinity I/O mask’,0x0001

Не обязательно для ввода-вывода выделять самое первое по порядку ядро. Это может быть ядро из того NUMA-узла, в домене близости которого находится адаптер ввода-вывода.

network packet size

Следующим параметром глобальной конфигурации, изменение которого может в некоторых случаях способствовать повышению производительности приложений баз данных, является “network packet size (B)”. Увеличение размера сетевого пакета до 8192 Байт может позволить добиться выигрыша за счёт лучшего выравнивания размера пакета с размером страницы SQL Server, которая равна 8 КБ. Однако, следует учитывать, что значение этого параметра по умолчанию (4096Б), является лучшим для большинства приложений. Только тестирование позволит выбрать для этого параметра оптимальную установку.

Настройка ключей системного реестра Windows

    Важно! Эта глава содержит сведения об изменении реестра. Перед изменением реестра необходимо создать его резервную копию. Убедитесь в том, что знаете, как восстановить реестр в случае возникновения проблемы. Дополнительные сведения о создании резервной копии, восстановлении и изменении реестра см. в следующей статье базы знаний Майкрософт: Сведения о реестре Windows для опытных пользователей.

UseLargePages

Включение поддержки больших страниц может оказаться полезным для тех систем с SQL Server x64, которые оснащение большим объёмом оперативной памяти. Большие страницы способствуют повышению производительности за счёт увеличения TLB буфера процессора. Большие страницы могут использоваться для буферного пула и для кодовых страниц SQL Server. Для включения больших страниц на уровне SQL Server нужно задать флаг трассировки -T834 (это можно сделать через стартовые параметры). Кроме того, следует добавить ключ системного реестра. Содержимое reg-файла для добавления показано ниже:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssqlservr.exe]
    “UseLargePages”=dword:00000001

Для вступления изменений в силу потребуется перезагрузка системы.

Если поддержка больших страниц включается для Windows 2008 R2, нужно учесть информацию из следующей статьи: After you enable large pages for a process in Windows 7 or in Windows Server 2008 R2, the process stops responding intermittently

Поддержка больших страниц включается автоматически, если выполняются перечисленные ниже условия, подробности в статье: SQL Server and Large Pages Explained….

·    SQL Server Enterprise Edition

·    У сервера должно быть больше 8Гб оперативной памяти

·    Привилегия “Lock Pages in Memory” должна быть дозволена локальной политикой для пользователя, в контексте которого запускается служба MSSQLServer.

LargeSystemCache/Size и IdleFrom0Delay

Установив значение LargeSystemCache в 0, тем самым устанавливается стандартный размер кэша файловой системы, который равен приблизительно 8 Мб, максимальный размер кэша файловой системы не будет превышать 512 Мб. Эта установка рекомендуется для таких программ, которые осуществляют кэширование памяти самостоятельно, и к таким программам относится SQL Server. Ниже показан reg-файла для задания такой установки:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management]
    “LargeSystemCache”=dword:00000000

То, насколько агрессивно будет заниматься физическая память под задачи файлового кэша, зависит от установки следующего ключа реестра:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters]
    “Size”=dword:00000001

Возможные значения: 1-вяло, 2-сбалансировано, 3-агресивно. Для установок с малой нагрузкой на файловый кэш, вполне достаточно 1.. Другие установки свойственны файловым серверам разного масштаба, впрочем, для тестов TPC-E часто выбирают 3.

Отключить режим экономии энергии, который тоже может замедлять некоторые операции, можно с помощью ключа IdleFrom0Delay. Сделать это можно так:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management]
    “IdleFrom0Delay”=dword:00000000

IoPageLockLimit, DisablePagingExecutive и DontVerifyRandomDrivers

В одном из документов по оптимизации мне попадалась следующая формула: “IoPageLockLimit = (RAMMb – 65) * 1024”. С помощью ключа IoPageLockLimit можно повлиять на то, сколько байт система будет читать или писать на логичекский диск за один раз.

Когда оперативной памяти предостаточно, с помощью установки DisablePagingExecutive можно не позволять SQL Server вытеснять в файл подкачки компоненты драйверов привилегированного и непривилегированного режимов, как и компоненты самого ядра ОС. Установка DontVerifyRandomDrivers в единицу позволяет сэкономить несколько процессорных циклов за счёт отключения отладочной проверки драйверов.

Вот как могут выглядеть значения этих ключей на практике:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management]
    “DisablePagingExecutive”=dword:00000001
    “DontVerifyRandomDrivers”=dword:00000001
    “IoPageLockLimit”=dword:00d9bc00

CountOperations

Параметр CountOperations позволяет отключить сбор данных по некоторым счётчикам производительности, которые относятся к запросам ввода-вывода дисковой подсистемы и сетевых интерфейсов. Чтобы это сделать, нужно в ключе системного реестра “I/O System” установить значение 0 для следующего параметра:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerI/O System]
    “CountOperations”=dword:00000000

Требуется перезагрузка.

NumberOfRequests и MaximumSGList

Эта пара ключей системного реестра предназначена для управления драйвером минипорта в момент инициализации последнего.

Увеличивая значение NumberOfRequests может способствовать повышению производительности обслуживания в Windows запросов дискового ввода-вывода, адресованных логическим дискам, и бывает эффективно только если эти логические диски являются аппаратными RAID-массивами, которые обладают возможностью распараллеливания запросов ввода-вывода. Рекомендованное значение можно найти в документации производителя FC-адаптера или RAID-контроллера. Увеличивать значение нужно осторожно, т.к. большое значение может привести даже к отказу системы. Например, для HBA адаптера QLogic, управляемого драйвером “QLogic Fibre Channel Miniport Driver”, в документации не рекомендуется превышать значение 150. Новое значение вступает в силу после перезагрузки системы или, в некоторых случаях, достаточно перезапустить адаптер (заблокировать/разблокировать).

Ключ MaximumSGList позволяет изменять используемый по умолчанию размер пакета передачи данных по шине (64Кб), который актуален для команд интерфейса SCSI. Если установить значение 255, то размер передаваемого одной командой объёма данных будет равняться мегабайту. Современные адаптеры умеют объединять до 265 сегментов данных, каждый по 4096 байт, что в сумме может дать размер одной передачи до 1048576 байт. Этот параметр широко используется для повышения эффективности использования ленточных накопителей, а также для оптимизаций таких задач SQL Server, которые оперируют большими запросами ввода-вывода, например, резервное копирование и восстановление.

В описаниях тесов TPC-C встречается установка обоих ключей в значение 255, как это показано в примере ниже:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesql2300ParametersDevice]
    “DriverParameter”=””
    “BusType”=dword:00000006
    “NumberOfRequests”=dword:000000ff
    “MaximumSGList”=dword:000000ff
    “CreateInitiatorLU”=dword:00000001
    “DriverParameters”=”UseSameNN=1;buschange=0”

IdlePrioritySupported

Windows Server 2008 умеет учитывать приоритет запроса ввода-вывода и использует его для обслуживания фоновых задач. Однако, если система обслуживает только одно приложение, подобное SQL Server, и это приложение само заботится о приоритетах запросов ввода-вывода, отвлечение системных ресурсов на приоритезацию становится излишним. Отучить Windows от обслуживания приоритетов запросов можно внеся изменения в системный реестр для каждого из выбранных дисков, как это показано на примере использования ключа IdlePrioritySupported:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumSCSIDisk&Ven_IBM&Prod_1726-4xx__FAStT5&22c73432&0&000000Device ParametersClasspnp]
    “IdlePrioritySupported”=dword:00000000

Ключ Classpnp скорее всего придётся добавить. Подобные тонкие настройки были мной замечены у IBM в тестах TPC-E.

TCPWindowSize

В Windows 2008 этот ключ больше не используется. В более ранних версиях увеличение размера окна может повысить эффективность сетевого трафика. Рекомендуемое значение (64240) для ключа TCPWindowSize представлено ниже:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]
    “TCPWindowSize”=dword:0000faf0

Подробности можно узнать в статье Базы Знаний Майкрософт: Description of Windows 2000 and Windows Server 2003 TCP Features.

Если размер окна в 64240 Байт тоже ограничивает производительность сети, существует возможность увеличения размера окна до одного Гигабайта. Ключ реестра TCP1323Opts разрешает динамическое мастабирование окна. Рекомендуемым значением для этого ключа является: 0x3.

Для дальнейшей оптимизации производительности сетевых интерфейсов попробуйте использовать следующие ключи системного реестра Windows, описание которых легко найти в Базе Знаний Майкрософт: TCPMaxConnectRetransmissions, TCPMaxDataRetransmissions, TCPTimedWaitDelay, MaxUserPort, MaxHashTableSize, NumTcbTablePartitions, TcpAckFrequency, MTU и EnablePMTUDiscovery.

Рекомендуемые к отключению службы

Application Management Alerter, Clipbook, Computer Browser, Distributed file system, Distributed link tracking client, Error Reporting Service, Fax Service, File Replication, Help and Support HTTP SSL, License Logging, Messenger, Portable Media Serial Number Service, Shell Hardware Detection, Windows Audio, Wireless Configuration.

Отключение защиты от перезаписи обработчика структурных исключений (SEHOP) в ОС Windows

Сохраните это в текстовом файле с расширением “reg” на сервере. Щёлкните по файлу два раза мышкой, и убедитесь, что изменения в реестре были применены успешно. Перезагрузите систему. 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Managerkernel]

“DisableExceptionChainValidation”=dword:00000001

Пояснения тут: http://support.microsoft.com/kb/956607

В тему

Параметры настройки для SQL Server 2005 и SQL Server 2008 при работе в высокопроизводительных рабочих нагрузок

Вопрос о размере файла подкачки довольно часто встречается на различных технических ресурсах, однако однозначных рекомендаций на этот счет нет. Попадаются как советы установить файл подкачки в 1.5-2 раза больше объема установленной памяти, так и полностью отключить его. И то и другое абсолютно бессмысленно с практической точки зрения. Поэтому сегодня речь пойдет о том, что такое файл подкачки (он же своп-файл, он же страничный файл) и как правильно выбрать и настроить его размер.

Чтобы понять, для чего нужен файл подкачки, стоит сначала разобраться в принципах работы памяти в Windows. Поэтому начнем с теории.

Виртуальная память

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

Операционная система Windows работает не с физической, а именно с виртуальной памятью. Технически виртуальная память состоит из физической памяти (ОЗУ) и специального файла(-ов) подкачки, объединенных в единое виртуальное адресное пространство. Для каждого запущенного процесса выделяется собственное, отдельное от других процессов адресное пространство в виртуальной памяти, в котором он выполняется и которым управляет. Для обращения к памяти используются указатели на адреса в виртуальном адресном пространстве, при этом сам процесс не в курсе 🙂 того, где именно хранятся его данные — в ОЗУ или в файле, это решает операционная система.

Максимально возможный объем доступной виртуальной памяти зависит от разрядности операционной системы. Так в 32-разрядной системе процесс может адресовать не более 4 гигабайт (232) памяти. Для 64-разрядного процесса теоретическое ограничение составляет 16 экзабайт (264), а практически в современных 64-разрядных версиях Windows поддерживается адресное пространство объемом до 16 терабайт.

Примечание. Некоторые 32-разрядные версии Windows Server используют технологию PAE, позволяющую адресовать до 64ГБ памяти. Подробнее о PAE можно узнать здесь.

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

Управление памятью происходит примерно так.

Виртуальное адресное пространство поделено на блоки равного размера, которые называют страницами (pages). Отсюда кстати и название pagefile — страничный файл. Физическая память также поделена на разделы, называемые страничными фреймами (page frames), которые используются для хранения страниц.

Каждому процессу при старте выделяется ″кусок″ адресного пространства в виртуальной памяти. Соответственно в каждый момент времени в памяти находятся страницы из виртуального адресного пространства каждого процесса. Страницы, находящиеся в физической памяти и доступные немедленно, называются действительными (valid pages), а страницы, которые в данный момент недоступны, например находящиеся на диске — недействительными (invalid pages).

При обращении процесса к странице памяти, помеченной как недействительная, происходит страничное прерывание (page fault). При возникновении прерывания диспетчер виртуальной памяти находит запрашиваемую страницу и загружает ее в свободный страничный фрейм физической памяти. Собственно этот процесс и называется подкачкой (paging).

При дефиците физической памяти диспетчер памяти выбирает фреймы, которые можно освободить и переносит их содержимое на диск, в файл подкачки. Принцип переноса такой: когда процесс использовал все выделенные ему фреймы, то при каждом страничном прерывании в этом процессе система удаляет из физической памяти одну из его страниц. Выбор страницы осуществляется по принципу первым пришел — первым ушел (first in, first out, FIFO), т.е. в файл подкачки переносится страница, дольше всех находившаяся в памяти.

У каждого процесса есть свой рабочий набор (working set) — набор страниц, находящихся в физической памяти. Рабочий набор определяет размер физической памяти, выделенной процессу, он имеет минимальный и максимальный размер. В момент запуска процессу назначается минимальный размер рабочего набора, т.е. минимальное количество страниц, которые гарантированно будут находится в оперативной памяти. При достаточном количестве свободной физической памяти процесс может увеличивать свой рабочий набор до размера, равного максимальному рабочему набору. Когда же начинается нехватка памяти, диспетчер виртуальной памяти начинает урезать рабочий набор всех процессов до минимального, удаляя лишние страницы из физической памяти.

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

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

Текущие настройки файла подкачки

Посмотреть текущий размер файла можно в оснастке Свойства системы (System Properties). Для этого надо нажать Win+R и выполнить команду sysdm.cpl. Затем перейти на вкладку «Advanced», в поле «Performance» нажать на кнопку «Settings» и в открывшемся окне перейти на вкладку «Advanced».

Здесь указан суммарный размер файла подкачки на всех дисках, а по кнопке «Change» можно перейти к его настройкам.

текущий размер файла подкачки

По умолчанию включено автоматическое управление размером файла подкачки. Это значит, что операционная система создает один файл подкачки pagefile.sys в корне системного диска и устанавливает его размер автоматически, исходя из своих потребностей.

файл подкачки, настройки по умолчанию

Дамп памяти

Чтобы понять, чем руководствуется система при выборе размера файла подкачки, опять перейдем к теории и обратимся к такому понятию как дамп памяти (memory dump). Дело в том, что кроме расширения физической памяти файл подкачки имеет еще одно назначение — он используется при создании аварийных дампов памяти при сбоях системы. Происходит это следующим образом.

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

При следующей загрузке системы диспетчер сеанса (Session Manager Subsystem Service, SMSS) инициализирует файл подкачки и проверяет наличие в нем заголовка дампа. Если заголовок есть, то данные копируются из файла подкачки в файл аварийного дампа и делается соответствующая запись в системном журнале.

Соответственно при автоматическом управлении файлом подкачки система ориентируется на настройки создания аварийного дампа памяти, выбирая размер файла в соответствии с типом дампа:

• Полный дамп памяти (Complete memory dump) — в дамп записывается все содержимое оперативной памяти на момент сбоя, поэтому размер файла подкачки должен быть равен размеру физической памяти + 1Мб (для заголовка). Этот тип выбирается по умолчанию при количестве физической памяти меньше 4ГБ;
• Дамп памяти ядра (Kernel memory dump) —  в дамп записывается только память, выделенная для ядра ОС, драйверов устройств и приложений, работающих в режиме ядра. Дамп ядра занимает гораздо меньше места, чем полный дамп, при этом его как правило достаточно для определения причин сбоя. Этот тип дампа выбирается по умолчанию для систем с объемом ОЗУ 4ГБ и более. Минимальный размер файла подкачки должен составлять примерно 1/3 от объема физической памяти;
• Малый дамп памяти (Small memory dump) — мини-дамп, в котором содержатся минимально необходимые данные: стоп-код и описание ошибки, список загруженных драйверов и информация о запущенных в момент сбоя процессах. Этот дамп требует файл подкачки не менее 2Мб;
• Автоматический дамп памяти (Automatic memory dump) — новый тип дампа, появившийся в  Windows 8Server 2012 и более новых. На самом деле это тот же дамп ядра, единственная разница в том, что он позволяет системе динамически управлять размером файла подкачки, выбирая наиболее оптимальный размер.

Настройки дампа памяти находятся в расширенных свойствах системы, в разделе Загрузка и восстановление (Startup and Recovery). Здесь можно один из четырех типов дампа либо совсем отключить его создание.

настройки дампа памяти

Даже зная настройки дампа и объем физической памяти, не получится точно сказать, какого размера файл подкачки создаст система. Поэтому я решил немного поэкспериментировать, для чего взял в качестве подопытных 2 системы — клиентскую Windows 8.1 (x64) и серверную Windows Server 2012 R2 и проверил, как размер файла подкачки зависит от объема физической памяти и настроек дампа. Вот что получилось:

Windows 8.1
4Гб ОЗУ
Windows 8.1
8Гб ОЗУ
Windows Server 2012 R2
4Гб ОЗУ
Windows Server 2012 R2
8Гб ОЗУ
Полный дамп  4352 Мб  8704 Мб  4352 Мб  8704 Мб
Дамп ядра  4096 Мб  8192 Мб  4096 Мб  8192 Мб
Автоматический дамп  704 Мб  1280 Мб  1408 Мб  1920 Мб
Малый дамп  320 Мб  512 Мб  1408 Мб  1920 Мб
Нет дампа  320 Мб  512 Мб  1408 Мб  1920 Мб

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

Также стоит напомнить, что это начальные значения. При нехватке виртуальной в процессе работы памяти система может увеличивать файл подкачки вплоть до максимального значения, которое при автоматической настройке составляет 3 объема физической памяти.

Определение необходимого размера файла подкачки

Хотя размером файла подкачки и можно управлять через настройки дампа памяти, однако это не самый прямой способ. Гораздо правильней настроить размер файла вручную. Остается только выяснить, какой размер можно считать достаточным.

Однозначного ответа на этот вопрос нет. Единственный способ более-менее точно установить размер файла подкачки  — это собрать в данной конкретной системе данные по потреблению памяти и использованию файла подкачки, выяснить, какой максимальный объем памяти может быть занят службамиприложениями и насколько реально используется файл подкачки. На основании полученных данных и следует выбирать размер файла.

Оперативно оценить текущее потребление виртуальной памяти можно в Task manager, в разделе Performance (производительность). В поле Commited показано отношение используемой виртуальной памяти к ее общему количеству. В моем примере на компьютере установлено 64Гб оперативной памяти и такого же объема файл подкачки. Текущий объем виртуальной памяти составляет 128Гб, занято 65Гб. Из них 62,4Гб приходятся на оперативную память и 2,6Гб на файл подкачки.

Диспетчер задач, вкладка Производительность

Также для сбора информации можно воспользоваться счетчиками производительности. Счетчики предоставляют больше информации, а также позволяют собрать статистику за определенное время, что позволит более точно определить потребности системы в виртуальной памяти. Нам потребуются следующие счетчики производительности:

Memory, Commited Bytes — этот счетчик показывает, какое количество байт в виртуальной памяти занято текущими процессами. Когда значение Commited Bytes превышает объем физической памяти, система начинает активно использовать файл подкачки;
Memory, Available Bytes — объем свободной физической памяти на компьютере. Этот параметр показывает загруженность оперативной памяти, а чем меньше физической памяти остается, тем активнее система использует файл подкачки.
Memory, Commit Limit — значение, равное сумме объема оперативной памяти и текущего размера файла подкачки. По другому  — максимальное количество виртуальной памяти, которое может быть выделено всем процессам без увеличения размера файла подкачки.
Memory, %Commited Bytes In Use — показывает процент использования виртуальной памяти. Представляет из себя отношение Commited Bytes Commit Limit.
Paging File, %Usage — процент использования файла подкачки, текущее значение.
Paging File, %Usage Peak — процент использования файла подкачки, пиковое значение.

Для более глубокого анализа потребления памяти можно дополнительно использовать такие счетчики:

Memory, Page Faultsec — количество страничных ошибок (прерываний) в секунду при обращении к страницам памяти. Напомню, что страничное прерывание возникает при обращении к странице памяти, которая была выгружена на диск.
Memory, Pagessec — показывает, сколько страниц в секунду было прочитанозаписано в рамках страничного прерывания.  Проще говоря, этот счетчик показывает интенсивность обмена данными между оперативной памятью и файлом подкачки. Представляет из себя сумму счетчиков Pages Inputsec  и Pages Outpitsec.
Process, Working Set — показывает текущее использование физической памяти активными процессами. Значение Total выдает суммарный объем по всем процессам, но можно вывести данные отдельно и по каждому конкретному процессу. Этот счетчик не имеет прямого отношения к файлу подкачки, но может помочь при диагностике проблем с производительностью.

счетчики производительности для файла подкачки

Как видно на примере, 64-гигабайтный файл подкачки реально используется всего на 2-3%. То есть для нормальной работы с избытком хватит файла подкачки размером 4Гб. И это при том, что сервер очень прилично нагружен, для менее загруженного компьютера цифры будут еще меньше.

Отдельно стоит упомянуть о выборе размера файла подкачки для компьютеров с ролью Hyper-V.  Дело в том, что в силу особенностей архитектуры гипервизор не использует файл подкачки для виртуальных машин даже в случае нехватки физической памяти. На серверах Hyper-V файл подкачки нужен исключительно для целей хостовой системы, в которой используется лишь небольшая часть ОЗУ (обычно не более 2-4ГБ). Поэтому создавать файл подкачки, исходя из общего объема физической памяти в данном случае абсолютно бессмысленно.

Настройка

Определив необходимый размер, переходим непосредственно о настройке. Для изменения размера файла подкачки открываем свойства виртуальной памяти и отключаем автоматический выбор размера. Затем в поле «Drive» выбираем логический диск, на котором будет располагаться файл, выбираем опцию «Custom size», указываем начальный и максимальный размер файла подкачки и жмем «Set». Для того, чтобы изменения вступили в силу, после настройки может потребоваться перезагрузка системы.

Для файла подкачки существуют некоторые ограничения:

• Максимальный размер файла может быть не более 16ТБ для 64-битной и не более 4ГБ для 32-битной системы;
• Можно создавать до 16 файлов подкачки, но каждый должен быть расположен на отдельном томе (логическом диске);
• Для возможности создания аварийного дампа памяти необходимо, чтобы файл подкачки (хотя бы один) находился на системном диске.

изменение настроек файла подкачки

Для автоматизации процесса настройки можно использовать вот такой PowerShell скрипт (подставив свои значения):

# Disable automatic management for pagefile
$ComputerSystem = Get-WmiObject -Class Win32_ComputerSystem -EnableAllPrivileges
if ($ComputerSystem.AutomaticManagedPagefile) {
$ComputerSystem.AutomaticManagedPagefile = $false
$ComputerSystem.Put()
}
# Set manual size for pagefile
$PageFile = Get-WmiObject -Class Win32_PageFileSetting -EnableAllPrivileges
$PageFile.InitialSize = 4096
$PageFile.MaximumSize = 8192
$PageFile.Put()

Заключение

В заключение некоторые практические советы, которые могут помочь в настройке.

• При ручной настройке необходимо указать начальный и максимальный размер файла. В этом случае система создает файл начального размера, при необходимости увеличивая его до тех пор, пока он не достигнет максимального. При увеличении размера возможна фрагментация файла подкачки, что скажется на его быстродействии. Для борьбы с фрагментацией можно изначально указать начальный и максимальный размер одинаковыми. Тогда система сразу выделит под файл все необходимое место, а статический размер файла исключит возможную фрагментацию в дальнейшем.
• Для увеличения производительности системы файл подкачки можно перенести на другой раздел. Уточню, что переносить файл стоит только на раздел, находящийся на другом физическом диске. Размещение файла подкачки на дополнительном раздел одного и того же диска не приведет к повышению быстродействия. На практике имеет смысл перенос файла подкачки на отдельный SSD-диск, это может дать заметный прирост производительности.
• Еще один теоретический 🙂 способ повысить скорость работы с файлом подкачки — разместить его на отдельном, специально выделенном только под него разделе, для которого установить размер кластера 64Кб (вместо 4Кб по умолчанию). При работе с большими файлами (такими, как файл подкачки) большой размер кластера может повысить производительность файловой системы. Чем больше размер кластера, тем большими блоками читаютсяпишутся данные, соответственно для одинакового объема данных при размере кластера 64Кб потребуется в 16 раз меньше операций чтениязаписи, чем для 4Кб.
• Кое где встречаются советы полностью отключить файл подкачки. Действительно, в отдельных случаях это может дать некоторый прирост производительности, хотя лично я не вижу в этом большой пользы. Как можно убедиться с помощью счетчиков производительности, при наличии свободной физической памяти ОС и так использует файл подкачки по минимуму, поэтому прирост будет незначительный. Если же при отключенном файле подкачки в процессе работы закончится физическая память, то приложение, потребляющее память, будет остановлено, что чревато сбоем в работе и потерей данных. Кроме того, при отсутствии файла подкачки Windows не сможет сохранить дамп памяти в случае сбоя.
• И последнее. Манипуляции с файлом подкачки не особо сильно влияют на производительность системы в целом. Повторюсь, при достаточном количестве физической памяти файл подкачки используется по минимуму. Если же в системе постоянно не хватает памяти и она активно использует файл подкачки, то в первую очередь стоит подумать о расширении физической памяти.

Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки.

Инструменты пользователя

Инструменты сайта

Боковая панель

Настройка файла подкачки Windows на сервере SQL Server

К настройке файла подкачки Windows нужно подходить индивидуально в каждом отдельном случае. Общие рекомендации по этому поводу можно найти в статье KB2860880 — Определение размера файла подкачки для 64-разрядных версий Windows. Так как на серверах с СУБД SQL Server зачастую используется большой объём оперативной памяти, может потребоваться настройка ограничения размера файла подкачки. Это связано с тем, что автоматически рассчитываемый ОС Windows размер файла даже при полном отсутствии нагрузки на систему на только что установленной системе может оказаться крайне нескромным.

Вызовем апплет управления свойствами системы sysdm.cpl. В открывшейся форме переходим на закладку управления расширенными настройками Advanced и в блоке Performance нажимаем кнопку Settings. В дополнительно открывшейся форме переходим на вкладку Advanced и в разделе Virtual memory используем кнопку Change, чтобы изменить параметры файла подкачки.

Отключим используемое по умолчанию автоматическое определение размера файла подкачки, укажем первичный (Initial size) и максимально допустимый (Maximum size) размеры файла через опцию Custom size (например, от 2GB, но не больше 4GB) и нажмём Set, затем OK.

Устанавливая файл подкачки ограниченного размера следуют выполнять дальнейший контроль процента его использования, чтобы не получилось так, что системе под продуктивными нагрузками на самом деле требуется больший объём подкачки, чем установлен. Следить за этим показателем можно с помощью консоли Performance Monitor и счётчиков производительности:

После добавления визуализации указанных счётчиков в нашем примере становится видно, что текущее использование файла подкачки на нулевом уровне.

Так как в системах Windows Server 2012 и выше на размер файла подкачки влияют требования, выставляемые к аварийному дампу системы (memory.dmp), мы можем сократить эти требования за счёт изменения параметров создания аварийного дампа. Для этого в том же апплете управления свойствами системы sysdm.cpl на закладке управления расширенными настройками Advanced в блоке Startup and Recovery нажимаем кнопку Settings. В открывшейся форме в разделе System failure вместо Automatic memory dump выбираем Small memory dump

Дополнительные источники информации:

Проверено на следующих конфигурациях:

Автор первичной редакции:
Алексей Максимов
Время публикации: 10.02.2019 20:51

Источник

Увеличение файла подкачки или зачем нужна виртуальная память?

Наверняка каждый пользователь сталкивался с ситуацией, когда компьютеру для нормальной работы не хватает оперативной памяти, вследствие чего операционная система обращается за помощью к так называемой виртуальной памяти, чтобы восполнить данную нехватку. О том, что такое виртуальная память, и как ее увеличить и читайте в данной статье.

0. Виртуальная память, что это такое?

Под понятием виртуальная память следует понимать сочетание памяти временного хранилища и оперативного запоминающего устройства (ОЗУ) на жестком диске (винчестере).

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

1. Влияние ОЗУ на скорость работы программ

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

2. Увеличение виртуальной памяти

Если всплывает окно с сообщением об ошибках, вызванных недостаточным размером виртуальной памяти, следует выполнить одно из двух действий, либо увеличить размер файла подкачки, либо добавить ОЗУ.

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

Чтобы это осуществить, необходимо выполнить следующие действия:

В Windows XP: Необходимо правой кнопкой мышки щелкнуть на значок «Мой компьютер» после чего перейти по пункту «Свойства».

В Windows Vista и старше: Перейдем в «Панель управления» — «Система и безопасность» — «Система» — «Дополнительные параметры системы»

Откроется окно «Свойства системы». Перейдем на вкладку «Дополнительно» и нажмем «Параметры» быстродействия.

Откроется окошко, в котором нужно выбрать вкладку «Дополнительно», затем нажать «Изменить» в группе «Виртуальная память».

Снимем флаг «Автоматически выбирать объем файла подкачки» и, выбрав диск, с которого будет осуществляться подкачка файла, устанавливаем значения исходного и максимального размеров виртуальной памяти. Необходимо в исходный размер записать рекомендуемое число, а в максимальном размере установить большое значение, например число 7000. После этого нажать на кнопку «Задать».

После этого следует принять все изменения, нажав в каждом окне кнопку «Ок» и перезагрузить компьютер.

Смотрите также:

Иногда в Windows 7 нужно изменить расширение вручную, например, превратить файл “txt” в “bat”. Первое, что приходит на ум, — переименовать (F2). Но оказывается, что расширение «.bat» ты вроде бы…

По умолчанию в гипервизоре Hyper-V в Windows Server 2008 для отдельной виртуальной машины число логических процессоров можно устанавливать в диапазоне от 1 до 4. С помощью нехитрых манипуляций можно обойти…

Переустановка операционной системы или смена компьютерного устройства не означает конец работы с установленными гостевыми ОС в программе VirtualBox. Правда, исключением может быть случай, когда файлы жёстких дисков виртуальных машин находятся на…

Источник

Размер файла подкачки windows server 2008 r2

Вопрос

Назначенный файл подкачки не используется ОС и не виден в диспетчере задач, однако виден в дополнительный свойствах системы и на диске на который он назначен. Сервер терминалов 16 Юзверей + Одмин 16- гигов физической памяти не хватает для одновременной работы всех в 1С 8.2

Помогите пожалуйста как можно сделать что бы файл подкачки использовался системой!

Ответы

Предложу другой вариант, мой коллега — Mikhail_Komarov написал хорошую статью, которую Вы могли бы применить в своей ситуации.

Правильно понимаю, что роль RD Session Host, SQL Server и 1С установлены на одном сервере?Параметр Maximum server memory в SQL Server задействует всю физическую память или только часть? Похожая проблема разбирается здесь.

Также еще можно задать ваш вопрос на специализированном форуме по 1С.

  • Изменено osr_ MVP, Moderator 22 января 2016 г. 12:59
  • Предложено в качестве ответа Alexander Rusinov Moderator 22 января 2016 г. 21:47
  • Помечено в качестве ответа Petko Krushev Microsoft contingent staff, Moderator 1 февраля 2016 г. 12:29

Вы не ответили на мой вопрос про значение параметра Maximum Server Memory

Чтобы не раздражать глупыми вопросами, давайте поступим так. На Форумах TechNet я нашел два результативных обсуждения, относящихся к повышению производительности конфигураций сервера 1С, похожего на ваш. Ознакомьтесь с обсуждениями и укажите, какие настройки вы уже выполняли, и они не привели к повышению производительности.

Если судить по картинке, Вашему серверу хватает памяти, в строке Free еще 2625MB, был бы 0 — другое дело.

Где отклик от дисковой подсистемы?

Все ответы

16- гигов физической памяти не хватает для одновременной работы всех в 1С 8.2

Файл подкачки не добавит в систему физической памяти, если ее не хватает для запущенных приложений, у него другое назначение.

Расскажите подробно, по каким признакам вы определяете, что файл подкачки не используется.

Сервер начинает тормозить при достижении 85-90% загрузки физической памяти.

Вы наверное не сталкивались с работой SQL-server и особенностью его работы, база данных 14ГБ и ему в принципе не хватит 16 ГБ для работы одного пользователя в течении одной рабочей недели (он забьет всю память своими процессами).

Расскажите подробно, по каким признакам вы определяете, что файл подкачки не используется.

Правильно понимаю, что роль RD Session Host, SQL Server и 1С установлены на одном сервере?Параметр Maximum server memory в SQL Server задействует всю физическую память или только часть? Похожая проблема разбирается здесь.

Также еще можно задать ваш вопрос на специализированном форуме по 1С.

  • Изменено osr_ MVP, Moderator 22 января 2016 г. 12:59
  • Предложено в качестве ответа Alexander Rusinov Moderator 22 января 2016 г. 21:47
  • Помечено в качестве ответа Petko Krushev Microsoft contingent staff, Moderator 1 февраля 2016 г. 12:29

Правильно понимаю, что роль RD Session Host, SQL Server и 1С установлены на одном сервере?Параметр Maximum server memory в SQL Server задействует всю физическую память или только часть? Похожая проблема разбирается здесь.

Также еще можно задать ваш вопрос на специализированном форуме по 1С.

Я не задаю вопросы на форумах если на нем есть ответы.

sqlservr.exe — 240 Мб

1cv8.exe каждый от 130 до 280 Мб

Все остальное рабочие процессы пользователей рабочих столов, включая Exel, Word и тд

Все параметры проверены трижды — это было сделано в первую очередь, перед тем как искать ответы в интернете!

Источник

Понравилась статья? Поделить с друзьями:
  • Настройка трекпада на windows 10 macbook
  • Настройка файл сервера windows server 2016
  • Настройка цвета текста в windows 10
  • Настройка шлюза удаленных рабочих столов в windows server 2019
  • Настройка точки доступа на ноутбуке на windows 10