Рабочие процессы в PRIV режиме
Рабочие процессы в PRIV режиме
Как я описывал во второй части моего рассказа об организации памяти в SAP AS ABAP, последовательность выделения памяти диалоговому рабочему процессу следующая:
- В первую очередь пользователю выделяется небольшой объем Roll area, который задается параметром ztta/roll_first (100-200 Кб).
- Если размер контекста пользователя растет, то используется память Extended memory через указатели (pointers).
- Если контекст пользователя использует весь объем Extended memory, определенный в квоте на один шаг диалога (параметр ztta/roll_extension), то рабочий процесс начинает использовать оставшуюся часть в локальной памяти Roll area, до размера квоты, определенной параметром ztta/roll_area.
- Если рабочему процессу необходимо больше памяти, то она выделяется в области SAP Heap memory (локальная память). С данного момента рабочий процесс переходит в PRIV режим (private mode).
- Если рабочему процессу необходимо памяти в SAP Heap memory больше, чем сконфигурировано в квоте, определенной параметром abap/heap_area_dia, то программа прерывается с дампом, сообщающем о нехватке памяти.
Таким образом, после того, как рабочий процесс использовал всю память, разрешенную квотами, в Roll area + Extended memory, ему выделяется память из области SAP Heap memory. С этого момента данный рабочий процесс переходит в привилегированный режим работы (PRIV mode) (Рис. 1). Это означает, что данный диалоговый рабочий процесс будет закреплен за данным пользователем, то есть не будет выгружать его контекст (roll-out) до тех пор, пока пользователь не выполнит все шаги текущей транзакции.
Рис. 1. Рабочий процесс в PRIV режиме.
Рабочий процесс в PRIV режиме работает хорошо, но скорость работы других пользователей, а, следовательно, и производительность всей системы в целом, снижается, так как данный рабочий процесс не участвует в механизме мультиплексирования. Снижение производительности будет тем больше, чем больше рабочих процессов находится в PRIV режиме.
В SAP системе такие процессы можно отследить через транзакцию SM50 (Рис. 2).
Рис. 2. Рабочий процесс в PRIV режиме в транзакции SM50.
Выбрав в транзакции SM04 пункт меню "Goto -> Memory", можно получить детальную информацию об использовании разных типов памяти данным пользователем (Рис. 3).
Рис. 3. Транзакция SM04: мониторинг использования SAP Heap memory пользователями.
Так же в транзакции ST02, на основном экране,
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти