В прошлом посте я писал про особенности конфигурации памяти в ABAP инстанции SAP системы, работающей в среде операционной системе MS Windows. Особый упор был сделан на механизм упрощенной конфигурации или ZAMM. В этот раз рассмотрим среду Linux.
В операционной системе Linux доступны две разные системы управления памятью. Переключение производится посредством SAP параметра es/implementation:
P.S. Коллеги, у кого системы работают на AIX (до SAP NetWeaver 7.40), помогите материалом для следующего поста: скриншоты, список нот, личные заметки. Знаю, что там есть своя специфика в работе механизма управления памятью, но сам никогда с системами на этой операционной системе не сталкивался. Спасибо. :)
В операционной системе Linux доступны две разные системы управления памятью. Переключение производится посредством SAP параметра es/implementation:
- MAP implementation (es/implementation = map).
- STD implementation (es/implementation = std).
MAP implementation - в данном случае, только активный в текущий момент времени контекст пользователя виден в адресном пространстве рабочего процесса. Использование оптимально в 32-битной версии операционной системы. Возможно использование для систем на базе SAP Kernel 4.5B (уровень патча 731) и выше. Для SAP Kernel версий от 6.20 до 7.00 является системой по-умолчанию (es/implementation = map).
Для использования необходимо Linux ядро 2.4 и TMPFS, смонтированная под /dev/shm, так как SAP Extended Memory хранится в TMPFS.
Стоит отметить, что в данном случае, возможна активация Zero Administration Memory Management (ZAMM), как в операционной системе MS Windows.
Как и в MS Windows, активируется через параметр PHYS_MEMSIZE, который устанавливается в зависимости от размера оперативной (физической) памяти. Возможна установка в процентном отношении ('100%', '50%', '25%'). В данном случае, сообщение об ошибке ('не цифровое значение') в RZ10 можно игнорировать. Большая часть параметров должна быть удалена из профиля, их установка будет выполнена в автоматическом режиме, в зависимости от параметра PHYS_MEMSIZE (рис. 1).
Рис. 1. Параметры SAP профиля, которые устанавливаются в рамках ZAMM. |
Данную схему управления можно использовать и в 64-битной операционной системе, но это не рекомендуется.
Подробности в SAP note # 386605 - SAP Memory Management for Linux (32-bit).
В ноте, помимо вышеуказанной информации, описано, как корректно монтировать TMPFS, в поддерживаемых SAP AG, версиях Linux.
STD implementation - в данном случае, используется схема управления памятью, как в Unix системах: все контексты пользователей видны в адресном пространстве одновременно. Начиная с SAP Kernel 7.10, в 64-битных Linux системах STD implementation активировано по-умолчанию.
При STD implementation значение параметров SAP идентично классической Unix схеме. Про это я писал в посте - Организация памяти в SAP AS ABAP - III.
В данном контексте важными являются следующие параметры операционной системы Linux (настройка в файле /etc/sysctl.conf):
- kernel.shmmax - не рекомендуется изменять значение, которое установлено по-умолчанию, так как оно уже достаточного размера.
- kernel.shmall - не рекомендуется изменять значение, которое установлено по-умолчанию, так как оно уже достаточного размера.
- TMPFS - хотя уже не используется для хранения SAP Extended Memory, но SAP рекомендует использовать значение равное 75 % от виртуальной памяти операционной системы (ОЗУ + swap).
В ноте описаны SAP параметры с их назначением, схемы выделения памяти (о которой я писал тут), а также, возможные ошибки в системе.
P.S. Коллеги, у кого системы работают на AIX (до SAP NetWeaver 7.40), помогите материалом для следующего поста: скриншоты, список нот, личные заметки. Знаю, что там есть своя специфика в работе механизма управления памятью, но сам никогда с системами на этой операционной системе не сталкивался. Спасибо. :)
Спасибо,
ОтветитьУдалитьподскажите пожайлысте, что лутьше применить.
STD implementation (es/implementation = std) или PHYS_MEMZISE параметер ?
Если применять параметер STD implementation (es/implementation = std), вырешеваються другие параметры автоматически (как при PHYS_MEMSIZE)?
Спасибо
На сколько я помню, es/implementation = std никак не связан с PHYS_MEMSIZE, это немного другое. А вот Zero Administration Memory Management (ZAMM) по-моему на свежих ядрах можно активировать и при es/implementation = std режиме. Поищите в SAP нотах.
Удалитьбольшое спасибо. Можете пожайлуста подсказать мне, если на одном сервере установленны вместе: SAP Application Server и HANA DB, можно ли использовать Zero Managment, т.е. установить только параметр PHYS_MEMSIZE и удалить остальные? Правильно ли я понимаю, что память увеличивается только до PHYS_MEMSIZE для Инстации SAP?
УдалитьСпасибо большое
Теоретически да, только в пределах этого параметра. Но нужно изучать именно для вашей версии системы. Могут быть нюансы.
УдалитьСпасибо большое.
ОтветитьУдалитьОдно мне не понятно.
В SAP-Note 941735 стоит следущее:
// SAP-Kernel < 7.40: три параметра профиля, используемые с реализацией MAP (em/address_space_MB, em/max_size_MB и PHYS_MEMSIZE), не имеют значения, если вы используете реализацию STD. //
занaчит если я использую Параметр (Linux):
es/implementation = std
тогда
я не могу применить этот параметр PHYS_MEMSIZE.
Как же тогда будут вырешиваться другие Buffer Parameter ? Как в этом случае (es/implementation = std) применить Zero Managment,если эти параметры (em/address_space_MB, em/max_size_MB и PHYS_MEMSIZE) не имеют значения ???
Или я что то не правильно понимаю ?
Спасибо огромное
Ну, если вы используете SAP HANA, значит у вас релиз SAP ядра выше, чем 7.40. Эта фраза относится только к старым ядрам, где ZAMM в Linux поддерживался только для 32-бит.
Удалить