Включить блокировку страниц в памяти windows 7

Обновлено: 01.07.2024

В конспективной форме, с небольшой порцией советов и полезных ссылок.

С виндой все понятно. А можно поподробнее про рабочие процессы 1С сервера, да и вообще о его тонкой настройке? Или ссылку где почитать? (2) Интересуют практические советы. По теории информации достаточно. Проблема в том, что не зная конкретики, невозможно дать какой-либо совет.
Всё только сильно в общем виде:
- Тонкая настройка сервера 1С Предприятия (в т.ч. его рабочих процессов) как правило не требуется;
- Для 32-х битного сервера количество запущенных рабочих процессов ограничено примерно такими цифрами:
* Если количество одновременно работающих пользователей >25-30 желательно иметь не менее 2-х рабочих процессов, а лучше - больше;
- На рабочий процесс нужно выделять примерно 2Гб оперативной памяти, это критично, если сервер 1С Предприятия и SQL работают на одной машине т.к. основной потребитель памяти - это SQL, но и для 1С что-то надо оставить;
- Требуется регулярный перезапуск (по крайней мере, для 8.1) рабочих процессов, иначе клиенты будут отваливаться с некоторой периодичностью,
скрипт и описание, зачем и как это надо делать, приведены в моей статье, ссылка есть в т.ч. и в обсуждаемой статье;
- Тонкая настройка сервера 1С Предприятия требуется, когда надо одновременно запустить несколько экземпляров разных версий сервера 1С Предприятия, скажем, 8.1 и 8.2; Тогда требуется разнести эти процессы по разным портам; (4) В 8.2 с ведением фоновых процессов (их активным использованием во всем), такой перезапуск нужен чаще

(0) А с какой целью Вы включаете блокировку страниц? По Вашей ссылке MSDN прямо говорит, что для 64-х разрядных систем блокировка не требуется.

Параметр Блокировка страниц в памяти политики Windows по умолчанию отключен. Его необходимо включить для настройки расширений AWE. Эта политика определяет, какие учетные записи вправе использовать процесс для хранения данных в физической памяти, что предотвращает страничную запись данных операционной системой в область виртуальной памяти на диск. В 32-разрядных операционных системах включение данной политики без использования расширений AWE может существенно снизить общую производительность системы. Блокировка страниц в памяти не требуется в 64-разрядных операционных системах.

(0) А с какой целью Вы включаете блокировку страниц? По Вашей ссылке MSDN прямо говорит, что для 64-х разрядных систем блокировка не требуется.

Да, вероятно Вы правы, это лишнее в данном случае, спасибо.
Думаю, эта привычка осталась с 32х битных систем :)

Зачем все запускать от доменного администратора? откуда такая пагубная привычка? :) vital1c пишет:
Зачем все запускать от доменного администратора? откуда такая пагубная привычка?

В моем конкретном случае на сервере выполняется ещё ряд скриптов, от имени доменного админа,
поэтому во избежание накладок, предпочитаю сразу службы запускать от имени доменного.
Если администратор считает, что достаточно запускать службы как network service или от имени
локальной учетки - это его дело имхо :)

(0) интересно оформлено, практично, "со вкусом профессионализма". Несколько вопросов:
1. Зачем Mixed Mode в авторизации SQL?
2. Зачем несколько рабочих процессов в Сервере 1с?
3. Нужно ли делать смещение на дисках в Windows 2008?

Несколько вопросов:
1. Зачем Mixed Mode в авторизации SQL?
2. Зачем несколько рабочих процессов в Сервере 1с?
3. Нужно ли делать смещение на дисках в Windows 2008?

1. Mixed mode используем, поскольку предполагается последующая авторизация на сервере SQL сервера 1С Предприятия не средствами windows, а с помощью авторизации самого SQL. Такой способ авторизации (Mixed mode) для соединения сервера 1С Предприятия и SQL по протоколу TCP/IP используется исходя из рекомендаций разработчиков 1С.

2. Для распределения нагрузки между рабочими процессами и уменьшения количества отключенных пользователей при спонтанном перезапуске рабочего процесса. Приведу цитату из Гилёва:"Несколько рабочих процессов на одном сервере дают возможность эффективно использовать объем оперативной памяти и ресурсы процессора для выполнения запросов, а также подключить клиентский сеанс к другому рабочему процессу при «крахе» текущего."

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

В 8.2 убрали галку «Много процессов» (сразу можно добавлять процессы).

Перезапуск рабочих процессов можно организовать без скриптов, средствами кластера серверов 1С (начиная с 8.1)

Выравнивание разделов для Win2008 вроде уже не актуально, только если специально испортить (правда, здесь речь о Win2003…)

Ps: это не в плане наезда, а для улучшения публикации (некоторые моменты уже есть в комментариях).

Спасибо, вроде все давно это известно, но такого краткого и при этом содержательного описания не встречалось еще. Спасибо, в принципе собрано все в одной маленькой статье

Issue: Databases [ master , model , msdb ] that are present on this server instance do not have a recent backup

Impact: The amount of data loss incurred in the event of a disaster scenario increases with the interval between backups

Resolution: Review the backup schedules of all critical databases and schedule backups based on the various tolerance levels

Issue: The event log has messages that indicate that "Significant Portion of SQL Server Memory Has Been Paged Out"

Impact: The performance and responsiveness of SQL Server services and associated applications may be affected when the processes are paged out

Resolution: Known issues exist in Windows and device drivers that trigger conditions resulting in the working set of all processes that are currently running on the computer to be trimmed

Issue: This instance of SQL Server has only one tempdb data file

Impact: Under a heavy load, the tempdb database can become a single point of contention and affect concurrency and performance

Resolution: To reduce contention in the tempdb database, increase the number of tempdb data files, and configure the required startup trace flags.

При майнинге криптовалюты Monero и ряда других монет на процессорах можно добиться серьезного увеличения хешрейта при включении поддержки адресации больших страниц памяти (huge pages в Linux или large pages в Windows).

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

На алгоритме RandomX при майнинге Monero (XMR) закрепление страниц в памяти (huge/large pages) дает увеличение хешрейта порядка 30%, а в некоторых случаях и больше (50-60%).

Скриншот майнера xmrig с работающей адресацией huge pages в OS Windows:


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

В случае одновременного использования рига для майнинга на CPU и GPU это может спровоцировать замедление майнинга на видеокартах, отказы/зависания.

Для предотвращения проблем нужно верно расходовать ресурсы: не злоупотреблять большим количеством потоков майнинга на CPU (использовать один поток на каждые 2 Мб кеша L2), оставлять ресурсы для работы ОС и майнеров на GPU, периодически отслеживать производительность компьютера (например, в диспетчере задач).


.

В ОС типа Ubuntu для включения этой полезной опции нужно проделать ряд дополнительных телодвижений.

Зачем нужно включать поддержку huge pages в Ubuntu?

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

Например, на древнем (2008 год) процессоре Xeon X3330 (2,6 ГГц), не умеющем вычислять по инструкциям AES, при майнинге Монеро на Random X хешрейт без huge pages равен 200-210 h/s (на двух потоках). При их включении скорость вычислений возрастает до порядка 270 h/s (выигрыш на 25-30%).

На более современных процессорах разница может быть еще более существенной.

Скриншот майнера xmrig, работающего без включения huge pages:


Рассмотрим подробнее, как проверить включена ли поддержка huge pages в Linux-подобных системах и как их задействовать для майнинга (на примере XUBUNTU 16.04).

Проверка ОС Ubuntu на предмет включения huge pages

Прежде всего, нужно проверить, имеется ли поддержка hugepages на уровне железа. Это делается с помощью команды:


В строке ответа системы в значении, заключенном в квадратные скобки, отображается наличие поддержки hugepages. Если высвечивается значение madvise, то в данной системе имеется поддержка huge pages . Если отображается значение [never], то данная система не имеет поддержки hugepages и стоит задуматься об апгрейде…

При наличии поддержки huge pages на аппаратном уровне нужно проверить, задействованы ли они и сколько страниц памяти зарезервировано. Для этого в терминале Ubuntu вводят команду:

Эта команда показывает число страниц памяти, которые ядро системы (kernel) выделяет (резервирует) на нужды пользователя.

Скриншот терминала, отображающего информацию о включении и числе выделенных hugepages:


Для включения, а также изменения количества выделенной физической памяти на постоянной основе используется изменение параметров ядра Ubuntu через файл конфигурации sysctl.conf.

Включение поддержки адресации huge pages в Ubuntu

В версии xmrig 5.2.0 и выше есть возможность включения поддержки huge pages на лету, но это требует рут-привилегий для программы-майнера.

Эту же операции для текущей сессии (до перезагрузки системы) можно сделать (с привилегиями root) командой:

Более разумно обеспечить работоспособность больших страниц памяти на этапе загрузки ядра с помощью конфигурационного файла sysctl.conf.

Это делается командой:

где 1280 – это число зарезервированных страниц памяти.

Можно сделать аналогичную операцию с помощью утилиты nano и команды:

В появившемся окне терминала нужно пролистать sysctl.conf до конца и вписать в него:


Затем нужно сохранить изменения (клавиши ctrl+O), нажать Enter, Ctrl+x и перезагрузить компьютер (sudo reboot).

Как подсчитать количество huge pages для выдления ядром системы Ubuntu?

Если зарезервировать слишком мало страниц, то майнер не будет работать в полную силу. Например, при резервировании 128 страниц xmrig показывает, что имеется всего 11% от необходимых 1168 страниц:



Исходя из информации в майнере, для его работы нужно 1168 страниц больших страниц памяти:

Майнер xmrig на RandomX с 1168 страницами памяти показывает вроде бы достаточное количество страниц, но все равно не использует их:


По рекомендациям разработчиков xmrig, для майнинга на алгоритмах типа RandomX нужно 1280 страниц на одну ноду NUMA и 128 страниц – для других алгоритмов.

Это совпадает с практикой, что видно на скрине майнера компьютера с выделенными 1280 hugepages:


Использование 1280 зарезервированных страниц означает, что в системе станет меньше на не менее 1280х2=2560 Мб доступной памяти (при стандартном размере страницы памяти в 2MB ).

Поэтому при ограниченном ОЗУ использование huge pages может привести к обратному эффекту – снижению хешрейта из-за нехватки физической памяти для нужд системы.

Вам также может понравиться


Майнинг UBIQ (UBQ) на двух и трехгиговых видеокартах

Некоторые особенности проекта Chia Network (криптовалюта XCH)

Оптимизация работы 1C. Настройка сервера MS SQL.

Включите возможность мгновенной инициализации файлов (Database instant file initialization)

Это позволяет ускорить работу таких операций как:

  • Создание базы данных
  • Добавление файлов, журналов или данных в существующую базу данных
  • Увеличение размера существующего файла (включая операции автоувеличения)
  • Восстановление базы данных или файловой группы

Включите параметр «Блокировка страниц в памяти» (Lock pages in memory)

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

  1. В меню Пуск выберите команду Выполнить. В поле Открыть введите gpedit.msc.
  2. В консоли Редактор локальных групповых политик разверните узел Конфигурация компьютера, затем узел Конфигурация Windows.
  3. Разверните узлы Настройки безопасности и Локальные политики.
  4. Выберите папку Назначение прав пользователя.
  5. Политики будут показаны на панели подробностей.
  6. На этой панели дважды кликните параметр Блокировка страниц в памяти.
  7. В диалоговом окне Параметр локальной безопасности — блокировка страниц в памяти выберите «Добавить» пользователя или группу.
  8. В диалоговом окне Выбор: пользователи, учетные записи служб или группы добавьте ту учетную запись, под которой у вас запускается служба MS SQL Server.
  9. Чтобы изменения вступили в силу, перезагрузите сервер или зайдите под тем пользователем, под которым у вас запускается MS SQL Server.

Отключите механизм DFSS для дисков.

Механизм Dynamic Fair Share Scheduling отвечает за балансировку и распределение аппаратных ресурсов между пользователями. Иногда его работа может негативно сказываться на производительности 1С. Чтобы отключить его только для дисков, нужно:

  1. Найти в реестре ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk
  2. Установить значение параметра EnableFairShare в 0

Отключите сжатие данных для каталогов, в которых лежат файлы базы.

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

  1. Открыть свойства каталога
  2. На закладке Общие нажать кнопку Другие
  3. Снять флаг «Сжимать» содержимое для экономии места на диске.

Установите параметр «Максимальная степень параллелизма» (Max degree of parallelism) в значение 1.

Данный параметр определяет, во сколько потоков может выполняться один запрос. По умолчанию параметр равен 0, это означает, что сервер сам подбирает число потоков. Для баз с характерной для 1С нагрузкой рекомендуется поставить данный параметр в значение 1, т.к. в большинстве случаев это положительно скажется на работе запросов.
Для настройки параметра необходимо:

  1. Запустить Management Studio и подключиться к нужному серверу
  2. Открыть свойства сервера и выбрать закладку Дополнительно
  3. Установить значение параметра равное единице.

Ограничьте максимальный объем памяти сервера MS SQL Server.

Необходимо ограничить максимальный объем памяти, потребляемый MS SQL Server, особенно это критично, если роли сервера 1С и сервера СУБД совмещены. Максимальный объем памяти, рекомендуемый для MS SQL Server, можно рассчитать по следующей формуле:
Память для MS SQL Server = Память всего – Память для ОС – Память для сервера 1С
Например, на сервере установлено 64 ГБ оперативной памяти, необходимо понять, сколько памяти выделить серверу СУБД, чтобы хватило серверу 1С.
Для нормальной работы ОС в большинстве случаев более чем достаточно 4 ГБ, обычно – 2-3 ГБ.
Чтобы определить, сколько памяти требуется серверу 1С, необходимо посмотреть, сколько памяти занимают процессы кластера серверов в разгар рабочего дня. Этими процессами являются ragent, rmngr и rphost, подробно данные процессы рассматриваются в разделе, который посвящен кластеру серверов. Снимать данные нужно именно в период пиковой рабочей активности, когда в базе работает максимальное количество пользователей. Получив эти данные, необходимо прибавить к ним 1 ГБ – на случай запуска в 1С «тяжелых» операций.
Чтобы установить максимальный объем памяти, используемый MS SQL Server, необходимо:

  1. Запустить Management Studio и подключиться к нужному серверу
  2. Открыть свойства сервера и выбрать закладку Память
  3. Указать значение параметра Максимальный размер памяти сервера.

Включите флаг «Поддерживать» приоритет SQL Server (Boost SQL Server priority).

Данный флаг позволяет повысить приоритет процесса MS SQL Server над другими процессами.
Имеет смысл включать флаг только в том случае, если на компьютере с сервером СУБД не установлен сервер 1С.
Для установки флага необходимо:

  1. Запустить Management Studio и подключиться к нужному серверу
  2. Открыть свойства сервера и выбрать закладку Процессоры
  3. Включить флаг «Поддерживать приоритет SQL Server (Boost SQL Server priority)» и нажать Ок.

Установите размер авто увеличения файлов базы данных.

Автоувеличение позволяет указать величину, на которую будет увеличен размер файла базы данных, когда он будет заполнен. Если поставить слишком маленький размер авторасширения, тогда файл будет слишком часто расширяться, на что будет уходить время. Рекомендуется установить значение от 512 МБ до 5 ГБ.
Для установки размера авторасширения необходимо:

  1. Запустить Management Studio и подключиться к нужному серверу
  2. Открыть свойства нужной базы и выбрать закладку Файлы
  3. Напротив каждого файла в колонке Автоувеличение поставить необходимое значение

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

Разнесите файлы данных mdf и файлы логов ldf на разные физические диски.

В этом случае работа с файлами может идти не последовательно, а практически параллельно, что повышает скорость работы дисковых операций. Лучше всего для этих целей подходят диски Супер.
Для переноса файлов необходимо:

  1. Запустить Management Studio и подключиться к нужному серверу
  2. Открыть свойства нужной базы и выбрать закладку Файлы
  3. Запомнить имена и расположение файлов
  4. Отсоединить базу, выбрав через контекстное меню Задачи – Отсоединить
  5. Поставить флаг Удалить соединения и нажать Ок
  6. Открыть Проводник и переместить файл данных и файл журнала на нужные носители
  7. В Management Studio открыть контекстное меню сервера и выбрать пункт Присоединить базу
  8. Нажать кнопку Добавить и указать файл mdf с нового диска
  9. В нижнем окне сведения о базе данных в строке с файлом лога нужно указать новый путь к файлу журнала транзакций и нажать Ок.

Вынесите файлы базы TempDB на отдельный диск.

Служебная база данных TempDB используется всеми базами сервера для хранения, промежуточных расчетов, временных таблиц, версий строк при использовании RCSI и многих других вещей. Обычно обращений к этой базе очень много, и если она будет лежать на медленных дисках, это может замедлить работу системы.
Рекомендуется хранить базу TempDB на отдельном диске для повышения производительности работы системы.
Для переноса базы TempDB на отдельный диск необходимо:

Ручным способом данный параметр активируется следующим образом:

1. Запускается редактор локальной групповой политики: gpedit.msc
2. Выбирается ветка: Computer Configuration\Windows Settings\Local Policies\User Rights Assignment
3. Выбирается параметр: Lock pages in memory
4. Добавляется имя пользователя системы, для которого необходимо включить эту опцию
5. Производится событие: LogOff

При следующем входе в систему блокировка страниц памяти будет активирована.

Так что же Вы хотите? Сами спрашиваете, сами же и отвечаете.
Доброе утро!

Вы видимо от программирования очень далеки.

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

Вы вроде бы имеете статус "Просветленный", но видимо от программирования очень далеки.

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

И вы туда же. попробуйте хотя бы немного вдуматься в то, о чём вопрос!
Или если это так сложно, то прочитайте комментарии к ответам.

Давайте внимательно разберём заданный вопрос, читаем с самого начала по строчкам:

Как программно включить блокировку страниц памяти (Lock pages in memory) ?

Требуется код программы (либо скрипт) для включения параметра: Lock pages in memory

Языки программирования: VC++, Delphi, Visual Basic

1. Как ПРОГРАМММНО включить.
2. Требуется КОД ПРОГРАММЫ.
3. ЯЗЫКИ ПРОГРАММИРОВАНИЯ.

По вашему здесь эти слова написаны просто так? Суть вопроса не в том, чтобы вручную накликать, а в том,
чтобы этот процесс автоматизировать - чтобы программа сделала это автоматически! Всё что должно требоваться
от пользователя - это запуск определенного EXE файла и не более.

Неужели так сложно вникнуть в вопрос? Смысл нет оставлять свои БЕСПОЛЕЗНЕЙШИЕ ответы.

не проснулись еще чтоли))).. . тут и ответ уже у вас есть)

Давайте внимательно разберём заданный вопрос, читаем с самого начала по строчкам:

Как программно включить блокировку страниц памяти (Lock pages in memory) ?

Требуется код программы (либо скрипт) для включения параметра: Lock pages in memory

Языки программирования: VC++, Delphi, Visual Basic

1. Как ПРОГРАМММНО включить.
2. Требуется КОД ПРОГРАММЫ.
3. ЯЗЫКИ ПРОГРАММИРОВАНИЯ.

По вашему здесь эти слова написаны просто так? Суть вопроса не в том, чтобы вручную накликать, а в том,
чтобы этот процесс автоматизировать - чтобы программа сделала это автоматически! Всё что должно требоваться
от пользователя - это запуск определенного EXE файла и не более.

Неужели так сложно вникнуть в вопрос? Смысл нет оставлять свои БЕСПОЛЕЗНЕЙШИЕ ответы.

Читайте также: