Как я уже ни раз
упоминал, на уровне операционной системы существует понятие виртуальной памяти. Данная память состоит из физической памяти сервера и области подкачки. Область подкачки в разных операционных системах представляет собой либо файл, либо область на жестком диске. В операционных системах семейства 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
Автор:
Шиболов Вячеслав Анатольевич