2 ноября 2015 г.

Какого размера область подкачки необходима для SAP системы?

Как я уже ни раз упоминал, на уровне операционной системы существует понятие виртуальной памяти. Данная память состоит из физической памяти сервера и области подкачки. Область подкачки в разных операционных системах представляет собой либо файл, либо область на жестком диске. В операционных системах семейства MS Windows эта область называется файлом подкачки или paging file и представляет собой один или несколько файлов на жестких дисках сервера (рис. 1).

Рис. 1. Paging file в MS Windows.

В операционных системах семейства Unix данная область имеет название swap (swap space) и, может быть представлена как файловая система или как диск (раздел) целиком (рис. 2).

Рис. 2. Пример вывода команды swapinfo в ОС HP-UX.

Со стороны системы SAP есть определенные требования к размеру области подкачки. При недостаточном размере система может не запуститься, так как не сможет разместить все свои области в виртуальной памяти операционной системы, или могут возникнуть проблемы в работе программы установки системы (SAPINST, SAP Software Provisioning Manager).

В эпоху 32-битных серверных архитектур и небольших объемов физической памяти, требование было простое - 3*(размер физической памяти), но минимум 3,5 Гб.

Сейчас все поменялось. При объеме физической памяти в 128 Гб, выделять для swap области 384 Гб нерационально и бессмысленно. К тому же, кардинально изменился состав SAP систем - инстанция базы данных, ABAP инстанция, которая может включать в себя PAS (CI) и AAS (DI), Java инстанция (SCS инстанция, Java инстанция с разным количеством Server processes), SAP агенты (SMD и SAP Host Agent) и т.д. Каждая компонента системы имеет свои требования к виртуальной памяти.

Как рассчитать общие требования при установке той или иной SAP системы?

Ну во-первых, требования к памяти есть в Installation Guide для каждой системы. Конечно же, требования там начальные, но и они позволяют запустить систему и работать с минимальной нагрузкой со стороны пользователей.
Во-вторых, на этой странице SAP Community Network есть ссылка на документ, в котором проведена попытка свести требования к памяти со стороны различных компонент SAP системы в таблицы. А к SAP note # 1518419 - Page file and virtual memory required by the SAP system прикреплена Excel-табличка, которая позволяет произвести подсчет требований к виртуальной памяти операционной системы. Введя размер физической памяти сервера, можно получить требования к размеру области подкачки (рис. 3).

Рис. 3. Пример расчета paging file для SAP системы.

Данная нота и расчёт созданы для операционных систем семейства MS Windows, но я думаю, что для Unix систем, в качестве точки отсчета, это то же можно смело использовать.

Для продуктивной системы, конечно же, необходимо проведение процедуры Hardware Sizing совместно с производителем оборудования.

Также в составе SAP Kernel есть утилита memlimits, которая позволяет протестировать выделение памяти в данной операционной системе. Программу на 64-битных платформах необходимо запускать с ключом -l, указав после него размер запрашиваемой памяти в Мб (рис. 4):
 # memlimits -l 20000 
Рис. 4. Пример вывода команды memlimits -l 20000 в HP-UX.

Первая строка в результатах "Maximum heap size per process" показывает, сколько памяти может быть занято локально одним процессом - Local work processes memory.
"Maximum protectable size (mprotect)" показывает лимит для SAP Extended Memory.
"Maximum address space per process" - лимит памяти, которая может быть выделена процессу в сумме.

На операционной системе MS Windows данная утилита так же доступна, но картина с результатами несколько иная (рис. 5).

Рис. 5. Пример вывода команды memlimits -l 20000 в MS Windows.

Здесь важной является первая строка результата - "Maximum heap size per process", которая, как и в Unix, показывает сколько памяти может быть выделено одному рабочему процессу в системе.

Данной утилитой так же можно проверить максимальное количество доступной виртуальной памяти, указав после ключа -l большое число (например, 120000) и проанализировав результаты в последней строке (рис. 6).

Рис. 6. Пример вывода команды memlimits -l 120000 в HP-UX.

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

Подробности можно найти тут или в справке к программе по ключу -h:
 # memlimits -h 

Автор: Шиболов Вячеслав Анатольевич


Комментариев нет:

Отправить комментарий