规划 Active Memory Expansion

amepat 命令

本文将帮助您理解 Active Memory Expansion 的概念,以及如何利用 amepat 工具来使用 Active Memory Expansion。

Saravanan Devendran, 架构师, IBM  

Saravanan Devendran 于 1997 年大学毕业后加入 IBM。他在 AIX 操作系统开发方面有 12 年经验。他曾经从事 AIX 中多个子系统的开发,尤其熟悉性能工具。他开发了多种 AIX 性能监视工具,比如 tprof、mpstat 等。目前,他负责 AIX 操作系统中性能工具的体系结构设计。



Rajalakshmi Srinivasaraghavan, AIX 开发人员, IBM

Rajalakshmi Srinivasaraghavan 是 IBM AIX 团队的一名开发人员。她从事 AIX 的支持和开发项目已有四年多的时间,涉及的领域包括 TCP/IP、安全性、命令等。她拥有计算机科学和工程的学士学位。



2011 年 8 月 29 日

简介

如今,内存容量已经成为妨碍工作负载借助处理器的力量进行线性扩展的主要瓶颈之一。处理器的处理能力每年都在增加,为了支持高速的处理器,系统也应提供充足的内存。内存约束是处理能力利用率低下的主要原因之一。

Active Memory Expansion (AME) 这种特性可帮助提高系统的有效内存大小,而且不必增加物理内存大小。这是通过将更多数据压缩到更小的内存空间中实现的,从而留出空间存储更多数据。

因为 AME 的使用带来的内存容量的有效增加使得吞吐量有所增加,同时还导致了 LPAR 的利用率的增加。内存节约可用于为系统添加更多 LPAR,或者额外的工作负载,以便完成更多工作。


AME 概述

操作系统管理 AME,虚拟化控制点可以按单个 LPAR 为基础配置 AME。用户可以进入 VET 激活模式来解锁系统的 AME 功能。在为系统解锁了 AME 之后,管理员即可随意创建启用了内存扩展的 LPAR。如果 AME 无法解决问题,则可随时禁用 AME。

在为 LPAR 启用 AME 时,操作系统将开始根据工作负载的内存访问模式压缩和解压缩内存中的数据。这将创建两个内存池:压缩的和未压缩的。

操作系统控制池的大小,并负责根据工作负载在压缩和未压缩池之间移动页面。

在某个应用程序需要访问压缩的数据时,操作系统会自动解压缩数据,并将其从压缩池移动到未压缩池,使之可供应用程序访问。在未压缩池已满时,操作系统会压缩数据,并将其从未压缩池移到压缩池中。根据工作负载和内存扩展的级别,可能会存在一些额外的 CPU 占用。

目标内存扩展因数是可由用户配置的。用户可以为一个工作负载指定目标内存扩展因数。这个因数是 LPAR 的实际逻辑内存大小的倍数。此因数支持的值范围为 1.0(即 100%)至 10.0(即 1000%)。

这个内存扩展因数为操作系统提供了有关用户尝试实现的有效内存容量的输入,即 OS 应尝试纳入内存的数据量。

20GB 的未压缩池可容纳最多 20GB 的数据。可存储在压缩池中的数据量随数据压缩能力的不同而不同。如果数据的压缩比率能达到 2 比 1,那么可存储在 20GB 压缩内存池中的数据量将为 40GB。如果数据仅能达到 1.8 比 1 的压缩比,则可存储在 20GB 压缩池中的数据量将是 36GB。

内存扩展因数  = 扩展内存大小 / 实际内存大小 = 60 / 40 = 1.5X

规划 AME

AME 的优势因为工作负载的不同而有所不同。因此,必须监视工作负载一定的时间,以确定内存扩展因数。Active Memory Expansion Planning and Advisory 工具 amepat 可帮助规划 Active Memory Expansion 环境中的工作负载部署,同时提供有关某个工作负载能够实现的内存扩展级别的指导。

数据压缩能力、内存使用情况和访问模式等因素决定了一些不常见的 AME 优势。amepat 工具能够考虑这些因素,并生成一份报告来提供扩展因数的预计。因此,建议在启用 AME 之前运行 amepat 来获得相关指导。


amepat 命令

amepat 工具报告 AME 信息和统计数据,帮助监视为一个工作负载启用 AME 的效果。amepat 工具可帮助规划初始 AME 配置,并监视和调优活动 AME 配置。在 AME 启用或禁用时均可调用 amepat 工具。

应该在工作负载的峰值利用率期间运行 amepat 工具,确保工具捕捉到工作负载峰值时段的利用率和内存使用情况。在调用该工具之后,它会定期收集指标,确定压缩能力。此工具将包括各种扩展因数的预计,以及命令执行结束时的 CPU 开销。这将帮助客户根据其当前压缩比和 CPU 开销确定最优的扩展因数。

AIX 6.1 TL4 SP2 中提供了此命令,此命令也可在 POWER4 以上的系统中运行,以便预测将在具有 AME 功能的 POWER7 系统中使用的工作负载。amepat 工具可通过命令行或者 smit 调用。

考虑一个示例,其中 amepat 在工作负载的利用率处于峰值期间运行了 3 个小时,以规划 AME。

#amepat 180

amepat 工具监视系统,并在 3 个小时之后生成一份报告。所生成的报告中包括两个部分:系统统计数据和 AME 统计数据。

系统配置和资源统计数据

图 1. amepat 报告 - 命令信息、系统配置和系统资源统计数据
系统配置和资源统计数据报告的屏幕快照结果

Command Information 部分提供了传递给 amepat 工具的参数、调用时间、总监视时间和收集到的样本数量的具体信息。具体来说,如果 amepat 的调用形式为 amepat 2 3,则总监视时间将为 6 分钟,以 2 分钟为间隔收集了 3 个样本。如果未提到样本数量,则 amepat 将自动计算间隔和样本数量。实际监视时间可能高于根据工作负载指定的持续时间。

System Configuration 部分提供了有关系统配置的具体信息,主要提供了相关分区名称、处理器类型、处理器实现模式、逻辑 CPU 数量、处理器授权容量(分区的容量授权,使用物理处理器数量为单位表示)、处理器最大容量、SMT 线程(可以是 124)、共享处理器模式(可能的值包括 Disabled、Enabled-Capped、Enabled-Uncapped)、活动内存共享(表明活动内存共享是启用的还是禁用的)、活动内存扩展(表明活动内存扩展是启用的还是禁用的)等方面的具体信息。

在启用 AME 时,还会显示以下两个字段:

  • LPAR 的目标扩展内存大小,以 MB 为单位
  • 为 LPAR 配置的目标内存扩展因数

系统资源统计数据从 CPU/内存的角度提供了有关系统资源利用率的具体信息。在指定持续时间/间隔值时将显示最小和最大值。

这些数据提供了以下具体信息:

  • 一个分区的 CPU 利用率,以物理处理器的数量为单位
  • CPU 利用率占最大容量的百分比
  • 活动虚拟内存大小,以 MB 为单位
  • 虚拟内存大小占实际内存大小的百分比
  • LPAR 的实际物理(或逻辑)内存数量,以 MB 为单位
  • 内存大小占实际内存大小/扩展内存大小的百分比
  • 固定内存大小,以 MB 为单位
  • 固定内存大小占实际内存大小的百分比
  • 非计算文件缓存大小,以 MB 为单位
  • 文件缓存大小占实际内存大小的百分比
  • 可用于应用程序执行的内存大小,以 MB 为单位
  • 可用内存大小占实际内存大小/扩展内存大小的百分比
  • AME 统计数据和建模的统计数据
  • AME 建模的统计数据提供了有关 AME 的建模统计数据。这显示了有关用于生成建模统计数据的扩展内存大小的具体信息。
  • 内存中工作负载数据的平均压缩比
  • 建模的目标内存扩展因数
  • 建模的实际内存大小(实际物理或逻辑内存)
  • 分区通过为所报告的扩展因数启用 AME 能够获得的内存数量
  • 所获得的建模内存占目标扩展内存大小的百分比
  • 以物理处理器为单位的处理容量,可用于内存压缩活动。
  • 利用率相对于最大容量的百分比

在本例中,第五行表示通过在具有 2.75GB 物理内存和 1.54 的内存扩展因数的 LPAR 中运行工作负载可节约 1.25GB 的内存。此活动预计的 CPU 利用率为 0.07。

图 2. amepat 报告 - AME 建模统计数据和建议
AME 建模统计数据和建议报告的屏幕快照结果

在启用 AME 时,amepat 将显示 AME 统计数据。这提供了以下具体信息:

  • AME 活动的 CPU 利用率,以物理处理器为单位
  • 利用率相对于最大容量的百分比
  • 压缩的虚拟内存总数,以 MB 为单位
  • 相对于目标扩展内存大小的百分比
  • 压缩比
  • 如果 LPAR 的内存不足,则提供 LPAR 缺少的扩展内存大小,以 MB 为单位。
  • 如果 LPAR 的内存不足,则提供相对于目标扩展内存大小的百分比。
图 3. amepat 报告 - AME 统计数据部分
AME 统计数据部分报告的屏幕快照结果

建议提供了有关可为当前运行的工作负载提供最优收益的 AME 配置细节。amepat 将从建议的建模表中选择一个配置。所列出的任何配置都是有效的,可用作初始尝试配置。


自定义 amepat 报告

amepat 将分析实时收集或者从用户指定的记录文件中收集的系统配置和性能统计数据,从而生成工作负载利用率和规划报告。

amepat 中包括自定义 AME 建模统计数据的选项。

如果 amepat 在未使用任何选项的情况下运行,则生成包含系统配置快照和 AME 性能指标(若启用了 AME)的报告。

要为建模内存扩展因数在 1.2 至 1.8 之间、增量因数为 0.1 的工作负载规划生成 AME 报告,可以使用 -e 选项。这将接受以下格式的输入:

 startexpfactor [ :stopexpfactor [ :incexpfactor ] ]
amepat -e 1.2:1.8:0.1 2
图 4. 使用 amepat 及建模内存扩展因数
具有建模内存扩展因数的 AME 建模统计数据自定义报告屏幕快照

要为建模 AME CPU 使用率上限为 30%、所获得的初始建模内存为 800 MB 的工作负载规划生成 AME 报告,可以使用 -c 和 -m 选项。

amepat -c 30 –m 800 2 3
图 5. 使用带有 -c 和 -m 标记的 amepat
具有建模 CPU 使用率及初始建模内存获得的 AME 建模统计数据自定义报告

要通过建模最小未压缩池大小 700 MB 及建模表中仅有的 3 个条目为工作负载规划生成 AME 报告,可以使用 -u 和 -n 选项。

amepat –u 2000 –n 3 1
图 6. 使用带有 -u 和 -n 标记的 amepat
具有建模最小解压缩池大小和自定义表条目的 AME 建模统计数据自定义报告

要生成建模的目标扩展内存大小为 5000 MB 的 AME 报告,可使用 -t 选项。

 amepat –t 5000 10
图 7. 使用 amepat 及建模的目标扩展内存大小
具有建模的目标扩展内存大小的 AME 建模统计数据自定义报告

要生成根据工作负载的当前内存使用情况预计的 AME 报告(不包括可用内存大小),可使用 -a 选项。

要通过禁用采用日志文件的 AME 建模来生成 AME 报告,可以使用 -N 和 -v 选项。

     amepat –v –N
图 8. 使用带有 -v 和 -N 标记的 amepat
通过禁用采用日志文件的活动内存扩展建模生成的活动内存扩展报告

具体日志中还包含有关收集的全部样本的具体信息。在 amepat 运行了较长时间、工作负载频繁发生变化的情况下,这可能有助于找到特定时间的统计数据。此外它还会记录分页空间的进出情况、文件页面的进出情况、候选内存和内存引用。

图 9. amepat 日志文件
amepat 具体日志的输出

amepat 工具 - 记录模式

在记录模式中,amepat 会将系统配置和各种性能统计数据记录到用户指定的记录文件中。所记录的数据随后可以使用 -P 选项进行后期处理。

只要工作负载的利用率水平得到提高,即可使用 -R 选项来记录内存和 CPU 占用率。所记录的文件可按照需求使用各种命令选项进一步处理,并可根据报告设置扩展因数。

要生成 60 分钟的记录文件,可以使用 -R 选项。

amepat -R myrecord_amepat 60

要使用记录文件生成建模目标扩展内存大小为 5000MB 的报告,可使用此代码:

amepat –t 5000 -P myrecord_amepat

要为使用建模内存扩展因数 2 至 4,增量 0.5 规划的工作负载生成报告,可使用此代码:

amepat -e 2.0:4.0:0.5 -P myrecord_amepat

参考资料

学习

  • 进一步了解 IBM Active Memory Expansion
  • 这份 AME 白皮书 概述了 POWER7 的 Active Memory Expansion 技术
  • PowerVM 新特性 - Active Memory Sharing:第 1 部分:入门”(developerWorks,2009 年 8 月):IBM PowerVM 设计为 IBM Power Systems 上的 AIX、IBM i 和 Linux 操作系统提供工业强度的虚拟化技术。PowerVM 提供广泛的配置选择,可以提高资产利用率、增加基础设施灵活性,并降低成本。
  • PowerVM 新特性 - Active Memory Sharing:第 2 部分:详细架构”(developerWorks,2009 年 8 月):本文详细介绍 Active Memory Sharing 架构。首先介绍目前支持的两种内存模型的主要特征。然后介绍 Active Memory Sharing 的技术细节,描述支持 Active Memory Sharing 所需的许多组件和技术。最后,本文对 PowerVM 处理器和内存虚拟化进行比较,以帮助理解前面的概念。
  • 一位客户配置 Active Memory Sharing 的经历”(developerWorks,2009 年 9 月):分享一位客户参与 IBM Early Ship Program for Active Memory Sharing on POWER6 的经历。了解这位客户如何在非生产 AIX 实验室环境中配置和部署 AMS。
  • Active Memory Sharing 与双 Virtual I/O Server 和 Live Partition Mobility”(developerWorks,2010 年 5 月):在 PowerVM 环境中,广泛使用双 Virtual I/O Server 配置和 Live Partition Mobility 为虚拟化的逻辑分区提供高可用性和灵活性。这两个特性还可以与 Active Memory Sharing 结合使用。在本文中,学习如何对共享内存分区使用双 Virtual I/O Server 配置和 Live Partition Mobility。
  • AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。
  • AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。
  • AIX and UNIX 专题汇总:AIX and UNIX 专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为您把本专区的所有专题进行汇总,让您更方便的找到您需要的内容。
  • AIX and UNIX 下载中心:在这里你可以下载到可以运行在 AIX 或者是 UNIX 系统上的 IBM 服务器软件以及工具,让您可以提前免费试用他们的强大功能。
  • IBM Systems Magazine for AIX 中文版:本杂志的内容更加关注于趋势和企业级架构应用方面的内容,同时对于新兴的技术、产品、应用方式等也有很深入的探讨。IBM Systems Magazine 的内容都是由十分资深的业内人士撰写的,包括 IBM 的合作伙伴、IBM 的主机工程师以及高级管理人员。所以,从这些内容中,您可以了解到更高层次的应用理念,让您在选择和应用 IBM 系统时有一个更好的认识。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=754466
ArticleTitle=规划 Active Memory Expansion
publish-date=08292011