Комментарии по теме

«Тра­нза­кция SM02: сообщения в SAP системе»
Олег Башкатов:
С помощью ФМ TH_POPUP можно отправить сообщение конкретному пользователю :-)
«Тра­нспо­ртная система SAP для чайников»
Вячеслав Шиболов:
Хорошая метафора с коробками. Наглядная.

База знаний

Вы можете подписаться на эту колонки этого автора, если авторизируетесь или зарегистрируетесь

Организация памяти в SAP AS ABAP - I

05 ноября 2015, 22:17

Так как SAP система имеет трехзвенную архитектуру и работает на различных аппаратных и программных платформах, то производительность SAP системы имеет большое значение и зависит от многих факторов. Можно выделить следующие:

  • производительность и утилизация (оптимальное использование) аппаратной части,
  • производительность операционной системы,
  • производительность базы данных,
  • производительность сервера приложений SAP (AS ABAP, AS JAVA) в целом и его частей.

В данном цикле статей будем рассматривать архитектуру и систему управления памяти на уровне сервера приложений SAP, в его ABAP части (SAP AS ABAP).

На уровне операционной системы выделяют два понятия:

  • физическая память (оперативная память, ОЗУ) - равна размеру физически установленной памяти в сервер.
  • виртуальная память - равна сумме физической памяти и размеру swap области или paging area (файл подкачки).

В выделении виртуальной памяти существует два фактора: размер аппаратного ограничения (сумма физической памяти и swap области) и логическое ограничение в архитектуре. В 32-х битной архитектуре один процесс может теоретически адресовать максимум 4 Гб (2³²).  В реальности это даже меньше: в зависимости от типа операционной системы - от 2 до 3,8 Гб. Со стороны SAP установка 32-х битных версий на разные операционные системы описана в SAP note 146528 - Configuration of R/3 on hosts with much RAM. В случае 64-х битной архитектуры это число фактически не ограничено (16 Эб). Для использования 64-х битной архитектуры аппаратного обеспечения необходимо, чтобы операционная система, база данных и SAP kernel были 64-х битные. С 2007 года все продукты компании SAP устанавливаются только как 64-х битные с поддержкой Unicode.

На уровне сервера приложений SAP (AS ABAP) выделяют собственное понятие виртуальной памяти, которое включает в себя два вида памяти (Рис. 1):

  • shared memory - память доступная для всех процессов инстанции SAP AS ABAP,
  • local memory - память доступная только для одного рабочего процесса системы.

Рис. 1 Типы памяти в SAP: общая картина.

Shared memory содержит следующие области:

  • SAP буферы, которые содержат глобальные объекты для всех пользователей/процессов инстанции.
  • SAP roll memory, которая располагается в двух областях: памяти (Roll buffer) и на уровне файловой системы (SAP roll file). Cодержит начальный контекст пользователя (имя, полномочия, значения по умолчанию и т.д.), который генерируется единожды при входе в систему.
  • SAP paging memory так же состоит из двух частей - область в памяти (Paging buffer) и файл на уровне сервера приложений (SAP paging file). Содержит ABAP объекты (Data clusters и параметры для вызывающих программ и транзакций) во время выполнения операндов вида IMPORT/EXPORT FROM/TO MEMORY, SUBMIT REPORT, CALL TRANSACTION, CALL DIALOG и т.п.
  • Extended memory содержит данные для отдельных пользователей и их запущенных транзакций (внутренние таблицы, списки и т.п.). Даже если пользователь не запустил ни одной транзакции, место в Extended memory он занимает, так как там хранится вторая часть контекста пользователя.

Local memory содержит следующие области:

  • Local memory - локальные области для каждого рабочего процесса, которые содержат, например, SAP cursor cache (хранит и разбирает SQL запросы) и I/O буфер для передачи данных от/до базы данных.
  • Heap memory - выделяется по требованию, в случае, если рабочему процессу не хватает Extended memory. Освобождается по окончанию шага диалога.

Ролевое назначение : SAP Консультант / Consultant

Функциональная область : Информационные технологии / IT, Basis, ABAP

Ключевые слова : Basis, Администрирование ABAP / ABAP Administration

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

Серго Берадзе (Рейтинг: 68) 09:08, 10 ноября 2015

Добрый день. Начиная с версии 7.40 менеджмент памяти немного изменился, roll целиком переместили, и добавили еще управление PROC памятью.
11:54, 10 ноября 2015

Вячеслав Шиболов (Рейтинг: 682)

Да, вы правы. Об этом будет отдельный пост.

Денис Озорнов (Рейтинг: 384) 10:20, 10 ноября 2015

Добрый день!
Цитата: "виртуальная память - равна сумме физической памяти и размеру swap области или paging area (файл подкачки)."
 
Вопрос: поясните, пожалуйста, в чем разница между swap-областью и paging area?
11:55, 10 ноября 2015

Вячеслав Шиболов (Рейтинг: 682)

Это просто терминология: в MS Windows - paging area или paging file, в Unix - swap область.