Технология Active Memory Expansion (AME)
Технология Active Memory Expansion (AME) - это новая технология, позволяющая увеличить объем доступной системной памяти. AME сжимает данные, увеличивая объем свободной памяти.
Обзор
Технология Active Memory Expansion (AME) использует сжатие данных в памяти для увеличения объема данных, которые могут быть размещены в памяти, и таким образом расширяет эффективность использования памяти в системах на основе процессоров IBM® Power Systems. Данная функция поддерживается на уровне операционной системы и ее работа прозрачна для приложений. AME настраивается для каждого логического раздела (LPAR). Поэтому данную функцию AME можно использовать для одного или нескольких LPAR в системе.
Если Active Memory Expansion включена для LPAR, то операционная система сжимает часть данных в памяти LPAR, а другая часть памяти остается неизменной. В результате память разбивается на два пула. Пулы памяти:
- Пул сжатой памяти
- Пул несжатой памяти
Операционная система динамически изменяет размер пула сжатой памяти в зависимости от загрузки системы и настроек LPAR.
Распределение данных между пулами зависит также от шаблона доступа к памяти приложения. Когда приложению требуется доступ к сжатым данным, операционная система автоматически извлекает данные и перемещает их из пула сжатой памяти в пул несжатой памяти, делая их доступными приложению. При заполнении пула распакованной памяти операционная система сжимает часть данных и перемещает их в пул несжатой памяти.
Для приложения операции сжатия и распаковки выполняются прозрачно. Поскольку AME использует сжатие памяти, при использовании данной технологии возникает дополнительная нагрузка на процессор. Значение этой нагрузки зависит от текущего состояния системы и используемого уровня расширения памяти.

ame_mpsize_support можно включить
страницы размером 64 КБ.Коэффициент расширения памяти и объем расширенной памяти
Объем расширенной памяти LPAR = Объем исходной памяти LPAR * коэффициент расширения памяти 40 ГБ = 20 ГБ * 2,0 Операционная система сжимает необходимый объем данных в памяти, чтобы уместить 40 ГБ данных в 20 ГБ памяти. Значения коэффициента расширения памяти и объема расширенной памяти можно динамически изменять с помощью Консоли аппаратного обеспечения (HMC)и динамических операций LPAR. Объем расширенной памяти всегда округляется в меньшую сторону до кратного ближайшему логическому блоку памяти (LMB).
Недостаток памяти
Может возникнуть ситуация, когда заданный коэффициент расширения памяти настолько велик, что операционная система не может его применить. При этом появляется недостаток памяти, указывающий на то, что заданный коэффициент расширения памяти LPAR не может быть применен. Будем считать, что размер памяти LPAR равен 20 ГБ и задан коэффициент расширения памяти 1,5. В результате мы должны получить объем расширенной памяти, равный 30 ГБ. Наши данные сжимаются плохо (коэффициент 1,4 к 1). В данном случае невозможно достичь желаемого коэффициента расширения памяти 1.5. Операционная система ограничит объем доступной памяти в пуле сжатой памяти до 95%. Максимальный объем расширенной памяти в нашем случае будет равен 27,6 ГБ. Этот объем меньше желаемого на 2,4 ГБ. Такая ситуация называется недостатком памяти.
В результате мы можем наблюдать те же последствия, как если бы мы выделили слишком мало памяти для LPAR. При недостатке памяти операционная система не сможет выделить необходимый объем расширенной памяти и будет вынуждена использовать пространство подкачки. Т.е. если приложение использует более 27,6 ГБ памяти, то будет задействовано пространство подкачки. Операционная система сообщает о возможном недостатке памяти с помощью соответствующего показателя. Если значение данного показателя равно нулю, то коэффициент расширения памяти может быть применен и операционная система может выделить необходимый объем памяти. При ненулевом значении метрики может возникнуть недостаток памяти. Для предотвращения ситуации недостатка памяти необходимо уменьшить коэффициент расширения памяти LPAR. Обратите внимание, что при этом объем расширенной памяти также уменьшится. Для того чтобы сохранить объем расширенной памяти, необходимо уменьшить коэффициент расширения памяти и установить дополнительную память для LPAR. Объем памяти LPAR и коэффициент расширения памяти можно изменять динамически.

Замечания по планированию
Перед развертыванием системы с функцией Active Memory Expansion (AME) необходимо убедиться, что AME будет использоваться эффективно. Преимущества AME для конкретной системы зависят от параметров системы. В некоторых системах может быть достигнуто большее расширение памяти, чем в других. С помощью программы Active Memory Expansion Planning and Advisory Tool amepat можно спланировать и развернуть систему в среде с функцией Active Memory Expansion.
Программа Планирование AME
Программа Планирование AME, расположенная в /usr/bin/amepat, предназначена для выполнения следующих основных задач. А именно:
- Планирование начальной конфигурации Active Memory Expansion
- Мониторинг и точная настройка активной конфигурации AME
Программу AME Planning Tool можно запускать на LPAR даже с отключенной функцией AME. Запустите программу amepat в системе с отключенной функцией AME. Необходимо задать параметры программы, установив нужную продолжительность мониторинга системы. Например, можно настроить программу amepat так, чтобы она выполнялась в течение всей пиковой нагрузки. После завершении работы программа выведет отчет о возможных коэффициентах расширения памяти и ожидаемой загрузке процессора для каждого коэффициента. Значения коэффициентов расширения памяти являются оптимальными для данной системы и предназначены для максимального увеличения объема доступной памяти при снижении нагрузки на процессорОтчеты и рекомендации могут помочь осуществить начальное развертывание AME. В системах с включенной функцией AME программа amepat выполняет схожие функции. При выполнении в период пиковой нагрузки она предоставляет отчет о реальной загрузке процессора для каждого коэффициента расширения памяти. При возникновении ситуации недостатка памяти выводится соответствующая информация. Поскольку функция AME включена, программа предоставляет более точные данные о загрузке процессора. На основе полученных данных пользователю предоставляются новые рекомендации.
# amepat 5 2
Команда : amepat 2 5
Время запуска : Среда, 2 декабря 2009, 11:29:29
Общее время мониторинга : 10 минут 58 секунд
Количество операций выборки : 5
Конфигурация системы:
---------------------
Название раздела : aixfvt19
Тип процессора : POWER5
Число процессоров : 8
Заявленная вмест. проц. : 4,00
Макс. вместимость проц. : 4,00
Объем физической памяти : 4,25 Гб
Нитей SMT : 2
Режим общего процессора : отключено
Active Memory Sharing : отключено
Active Memory Expansion : отключено
Использование ресурсов: среднее минимальное максимальное
--------------------------- ----------- ---------- -----------
Загрузка проц (физ. проц.) 2,00 [ 50%] 1,00 [ 25%] 3,00 [ 75%]
Объем вирт. памяти (Мб) 1366 [ 31%] 1113 [ 26%] 2377 [ 55%]
Исп. физ. память (Мб) 1758 [ 40%] 1234 [ 28%] 3834 [ 88%]
Зафиксир. память (Мб) 673 [ 15%] 673 [ 15%] 675 [ 16%]
Размер файл. кэша (Мб) 391 [ 9%] 124 [ 3%] 1437 [ 33%]
Доступная память (МБ) 841 [ 65%] 1812 [ 42%] 3099 [ 71%]
После включения Active Memory Expansion
-------------------------------------------
Планируемое увеличение памяти : 4,25 Гб
Средний коэффициент сжатия : 5,29
Коэфф. Реальный объем Возможный прирост Средняя загрузка
расширения памяти памяти процессора
--------- ------------- ------------------ -----------
1,00 4,25 Гб 0,00 Кб [ 0%] 0,00 [ 0%]
1,31 3,25 Гб 1,00 Гб [ 31%] 0,34 [ 8%]
1,55 2,75 Гб 1,50 Гб [ 55%] 0,39 [ 10%]
1,89 2,25 Гб 2,00 Гб [ 89%] 0,45 [ 11%]
2,12 2,00 Гб 2,25 Гб [112%] 0,50 [ 12%]
2,43 1,75 Гб 2,50 Гб [143%] 0,65 [ 16%]
2,83 1,50 Гб 2,75 Гб [183%] 0,70 [ 18%]
Рекомендации по использованию Active Memory Expansion:
---------------------------------------
Для данной системы рекомендуется использовать 1,50 ГБ и настроить коэффициент
расширения памяти 2.83. Прирост памяти составит 183%. При использовании данных
параметров дополнительная загрузка составит примерно 0,50 процессора, а во
время пиковых нагрузок - 3,50 процессора.
Примечание: рекомендации основываются на данных мониторинга за определенный период. Если загрузка системы не изменится, то необходимо запустить программу amepat снова.
Загрузка процессора в отчете amepat является приближенным значением. Фактическая загрузка процессоров может отличаться от указанного
значения в большую или меньшую сторону.Отчет состоит из следующих шести разделов.
Сведения о команде
Приводятся сведения об аргументах команды amepat, времени запуска, общем времени мониторинга и количестве операций выборки. В данном отчете команда amepat
Конфигурация системы
Использование ресурсов
Приводятся сведения об использовании системных ресурсов в течение периода наблюдения. Выводятся средние, минимальные и максимальные значения, а также процент использования соответствующих системных ресурсов.
В указанном отчете в среднем используется 2,00 процессора (строка Загрузка процессора), т.е. половина от общего доступного числа (строка Макс. вместимость проц.).
Также приводятся сведения об использовании памяти. Данные в процентах указаны относительно фактического объема памяти LPAR
Статистика Active Memory Expansion
Данный раздел отображается при выполнении программы amepat в разделе с включенной AME.
Пример отчета:
Статистика AME: среднее мин. макс.
--------------- ----------- -------- ---------
Исп. проц. для AME (физ. проц.) 0,25 [ 6%] 0,01 [ 0%] 0,50 [ 13%]
Сжатая память (Мб) 264 [ 13%] 264 [ 13%] 264 [ 13%]
Коэффициент сжатия 2,15 2,15 2,16
Недостаток памяти (Мб) 562 [ 55%] 562 [ 55%] 562 [ 55%]
В данном разделе приводятся сведения об использовании процессора для AME, сжатой памяти,
коэффициенте сжатия и недостатке памяти.
Данные о недостатке памяти приводятся только
при достижении объема расширенной памяти.
Если этот объем не достигнут, то сведения о недостатке памяти не выводятся.
В приведенном выше отчете средний недостаток памяти равен 562 Мб, что составляет 55%
от целевого объема расширенной памяти 2 Гб (см. раздел Конфигурация системы).
Из отчета также видно, что в среднем 264 Мб из 2 Гб расширенной памяти
находятся в сжатом виде.После включения Active Memory Expansion
В данном разделе приводятся прогнозируемые данные об объеме расширенной памяти, частоте сжатия, а также таблица с числом возможных конфигураций AME. В данном отчете прогнозируемый объем расширенной памяти равен
4,25 Гб, что соответствует объему физической памяти. По умолчанию amepat использует физическую память раздела в качестве прогнозируемой расширенной памяти. Для изменения этих настроек воспользуйтесь опциями
-t или -a. Частота сжатия равна 5,29, что означает эффективное сжатие памяти. Если частота сжатия стремится к 1, то сжатие памяти маловероятно
. Конфигурации в таблице основаны на прогнозируемом объеме расширенной памяти.
В таблице также показан прогнозируемый объем физической памяти, прирост памяти, а также дополнительная нагрузка на процессор в связи с использованием AME.
Рассмотрим следующую строку в таблице:
1,55 2,75 Гб 1,50 Гб [ 55%] 0,39 [ 10%]Здесь исходный размер фактической памяти (4,25 Гб) можно получить на основе 2,75 Гб физической памяти и коэффициента расширения 1,55. В результате использования данной конфигурации дополнительно будет задействовано
0,39 процессоров (10% от максимума).
Рекомендации по использованию Active Memory Expansion
В данном разделе приведены рекомендации по использованию Active Memory Expansion. В оптимальной конфигурации использование процессора для AME не должно превышать 15%. Также приведены сведения о дополнительной нагрузке процессора и приросте памяти. В приведенном отчете рекомендуется использовать коэффициент расширения 2,12. Целевой объект AME можно изменить с помощью опций -c и -C.
ЗАМЕЧАНИЕ: Для данного LPAR обнаружен недостаток памяти 562 Мб.
Недостаток памяти вызван слишком высоким значением коэффициента расширения памяти. Рекомендуется изменить конфигурацию LPAR, чтобы избежать недостатка памяти. Воспользуйтесь рекомендованными конфигурациями LPAR в приведенной выше таблице.
Для данной системы рекомендуется использовать ...Дополнительные сведения об использовании программы AME Planning приведены на странице справки amepat (man).
Отслеживание производительности
Для мониторинга Active Memory Expansion используются несколько инструментов AIX.
| Программа | Опция | Описание |
|---|---|---|
| amepat | -N | Выводит общие сведения об использовании процессора и памяти. Также выводится информация об использовании процессоров для операций сжатия и распаковки AME и сведения о недостатке памяти. |
| vmstat | -c | Выводит статистику сжатия, распаковки и сведения о недостатке памяти. |
| lparstat | -c | Выводит сведения об использовании процессоров для операций сжатия и распаковки AME и сведения о недостатке памяти. |
| svmon | -O summary=ame | Выводит сведения об использовании памяти в пуле сжатой и несжатой памяти. |
| topas | По умолчанию выводит статистику использования сжатой памяти (в среде с включенной функцией AME). |
Команда vmstat
Для отображения статистики AME запустите команду vmstat с опцией –c.
# vmstat –c 2 1
Конфигурация системы: проц=2 пам=1024MB фпам=512MB выд=0.40 режим=dedicated-E
нити память страница ошибки
r b avm fre пжп дп недпам ор ос pi po in sy cs
0 0 309635 2163 43332 943 26267 174 386 0 0 93 351 339
процессор
us sy id wa pc ec
2 3 89 7 0.02 5.3
В приведенном выше примере содержатся следующие данные:
- Объем расширенной памяти пам равен 1024 Мб.
- Объем физической памяти фпам равен 512 Мб.
- Режим памяти режим: Active Memory Sharing выключено, Active Memory Expansion - включено.
- Размер пула сжатой памяти псп равен 43332 страницы по 4 Кб.
- Объем доступной памяти дп в пуле сжатой памяти равен 943 страницы по 4 Кб.
- Недостаток памяти недпам равен 26267 страниц по 4 Кб.
- Число операций сжатия или записи страниц в пул сжатой памяти в секунду ос равно 386.
- Число операций распаковки или извлечения страниц из пула сжатой памяти в секунду ор равно 174.
команда lparstat
Для отображения статистики AME запустите команду lparstat с опцией –c.
# lparstat -c 2 5
Конфигурация системы: тип=общий режим=без_ограничений Режим_памяти=Ded-E smt=включено
проц=2 пам=1024 Мб фпам=512MB разм=14 огр=0.40
%польз %сис %ожид %прос физ %огр зан прил vcsw phint %xcpu dxm
----- ----- ------ ------ ----- ----- ------ --- ----- ----- ------ ------
45,6 51,3 0,2 2,8 0,95 236,5 62,6 11,82 7024 2 5,8 165
46,1 50,9 0,1 2,8 0,98 243,8 64,5 11,80 7088 7 6,0 162
46,8 50,9 0,3 2,1 0,96 241,1 69,6 11,30 5413 6 19,4 163
49,1 50,7 0,0 0,3 0,99 247,3 60,8 10,82 636 4 8,6 152
49,3 50,5 0,0 0,3 1,00 248,9 56,7 11,47 659 1 0,3 153В приведенном выше примере содержатся следующие данные
- Режим памяти режим: Active Memory Sharing выключено, AME Memory Expansion - включено.
- Объем расширенной памятипам равен 1024 Мб.
- Объем физической памяти фпам равен 512 Мб.
- Процент использования процессора в операциях Active Memory Expansion %xcpu.
- Недостаток памяти dxm в Мб.
команда topas
topas с включенной технологией AME
отображает данные о сжатии в разделе AME.
Монитор Topas для хоста: proc7 СОБЫТИЯ/ОЧЕРЕДИ ФАЙЛЫ/TTY
Пон 14 Дек 2009 16:30:50 Интервал: 2 Cswitch 1240 Readch 43,2 Мб
Свыз 110,8 Кб Writech 102,5 Кб
Проц польз% ядр% ожид% прост% физ огр Чтений 12594 Rawin 0
ВСЕ 49,1 50,7 0,0 0,3 1,00 249,7 Записи 515 Ttyout 388
Forks 218 Igets 0
Сеть KBPS I-Pack O-Pack KB-In KB-Out Execs 218 Namei 5898
Всего 1.2 7,5 1,0 0,9 0,3 Runqueue 1,0 Dirblk 0
Waitqueue 0,0
Диск Занято% KBPS TPS KB-Read KB-Writ ПАМЯТЬ
Всего 0,0 0,0 0,0 0,0 0,0 PAGING Физ,Мб 1024
Сбой 53184 % Comp 85
Файл. система KBPS TPS KB-Read KB-Writ Steals 0 % Noncomp 0
Всего 75,4 Кб 21,1 КБ 75,3 КБ 95,4 PgspIn 0 % Client 0
PgspOut 0
WLM-Class (Active) CPU% Mem% Blk-I/O% PageIn 0 ПРОСТРАНСТВО ПОДКАЧКИ
Система 0 61 0 PageOut 0 Размер,Мб 512
По умолчанию 0 4 0 Sios 0 % использ 1
% свободно 99
Имя PID CPU% PgSp Class AME
inetd 364682 3,5 0,5 wpar1 TMEM,Мб 512 Активн WPAR 1
xmtopas 622740 0,4 0,7 wpar1 CMEM,Мб 114 Всего WPAR 1
topas 413712 0,1 1,5 System EF[T/A] 2.0/1.5 Нажмите: "h" для справки
random 204934 0,1 0,1 System CI:5.5 CO:0.0 "q" для выходаВ приведенном выше примере содержатся следующие данные.
- Объем физической памяти TMEM, Мб равен 512 Мб.
- Размер пула сжатой памяти CMEM,Мб равен Мб.
- EF[T/A] – целевой коэффициент расширения равен 2,0, фактический коэффициент равен 1,5.
- Частота сжатия co и распаковки ci в секунду равна 0,0 и 5,5 страниц соответственно.
svmon, команда
Программа svmon выводит подробные сведения об использовании AME.
# svmon -G -O summary=ame,pgsz=on,unit=MB
Ед. изм: Мб
-------------------------------------------------------------------------------
разм. занято своб. фикс. вирт. дост. mmode
память 1024,00 607,54 144,11 306,29 559,75 136,61 Ded-E
несжатая - 387,55 -
сжатая - 219,98 -
пр. подк. 512,00 5,08
раб. пост. клнт. проч.
фикс. 213,34 0 0 28,9
занято 534,12 0 9.42
несжатая 314,13
сжатая 219,98
разм.стр. разм.пула занято пр.пдкчк. закр. вирт. несж.
s 4 Кб - 543,54 5,02 242,27 560,59 323,55
L 16 Мб 4 0 0 64.0 0 0
-------------------------------------------------------------------------------
Объем физической памяти: 512,00
CurSz %Cur TgtSz %Tgt MaxSz %Max CRatio
несжатая 405,93 79,28 168,38 32,89 - - -
сжатая 106,07 20,72 343,62 67,11 159,59 31,17 2,51
txf cxf dxf dxm
AME 2,00 1,46 0,54 274,21В приведенном выше примере содержатся следующие данные:
- Режим памяти режим: Active Memory Sharing выключено, AME Memory Expansion - включено.
- Всего памяти: 607,54 Мб (memory_inuse). Несжатые страницы ucomprsd_inuse занимают 387,55 Мб. Сжатые страницы comprsd_inuse занимают оставшиеся 219,98 Мб
- Всего рабочих страниц: 534,12 Мб (inuse_work). Несжатые страницы ucomprsd_work занимают 314,13 Мб. Сжатые страницы comprsd_work занимают 219,98 Мб.
- Всего используется 543,54 Мб страниц (4KB_inuse) в пуле страниц по 4 Кб. Несжатые страницы4KB_ucomprsd занимают 323,55 Мб.
- Объем расширенной памяти memory_size равен 1024 Мб.
- Объем физической памяти True Memory равен 512 Мб.
- Текущий размер пула несжатой памяти ucomprsd_CurSz равен 405,93 Мб (79,28% от общего объема памяти).
- Текущий размер пула сжатой памяти comprsd_CurSz равен 106,07 Мб (20,72% от общего объема памяти).
- Целевой размер пула сжатой памяти comprsd_TgtSz, необходимый для достижения коэффициента расширения памяти txf 2,00, равен 343,62 Мб(67.11% от общего объема памяти).
- Текущий размер пула несжатой памяти ucomprsd_TgtSz равен 168,38 Мб (32,89% от общего объема памяти).
- Максимальный размер пула сжатой памяти comprsd_MaxSz равен 159,59 Мб (31,17% от общего объема памяти).
- Текущая частота сжатия CRatio равна 2,51, а текущий коэффициент расширения cxf равен 1,46
- Недостаток памяти dxm составляет 274,21 Мб, а коэффициент расширения недостатка dxf равен 0,54.
Опция –O summary=longame выводит краткие сведения о сжатой памяти в следующем виде:
# svmon -G -O summary=longame,unit=MB
Ед. изм: Мб
Active Memory Expansion
--------------------------------------------------------------------
Размер Исп Своб DXMSz UCMInuse CMInuse TMSz TMFr
1024,00 607,91 142,82 274,96 388,56 219,35 512,00 17,4
CPSz CPFr txf cxf CR
106,07 18,7 2,00 1,46 2,50В приведенном выше примере содержатся следующие данные:
- Общий объем расширенной памяти Размер равен 1024,00 Мб. Используется Исп 607,91 Мб. Свободно Своб 142,82 Мб. Недостаток памяти DXMSz равен 274,96 Мб.
- Общий объем используемой памяти Исп равен 607,91 Мб. Объем несжатых страниц UCMInuse равен 388,56 Мб. Объем сжатых страниц CMInuse равен 219,35 Мб.
- Общий объем физической памяти TMSz равен 512,00 Мб. Доступно только 17,4 Мб TMFr.
- Общий размер пула сжатой памяти CPSz равен 106,07 Мб. Доступно только 18,7 Мб CPFr.
- При этом целевой коэффициент расширения txf равен 2,00, а текущий cxf равен 1,46.
- коэффициент сжатия (КС) равен 2,50.