【问题标题】:AIX memory utilizationAIX 内存利用率
【发布时间】:2016-04-25 12:12:03
【问题描述】:
我是 AIX 的新手,我想了解内存利用在 AIX 中的工作原理
我可以使用 nmon,它在下面显示内存。
因为它显示总内存为 128GB,已用内存为 124GB 是否正常/我想了解如何确保阅读以下信息,我们对内存利用率没有问题
│ 物理页面空间 |页/秒输入输出 |文件系统缓存│
│% 已使用 97.2% 0.9% |到分页空间 0.0 0.0 | (数字) 6.6% │
│% 免费 2.8% 99.1% |到文件系统 0.0 0.0 |处理 77.7% │
│GB 已用 124.4GB 0.7GB |页面扫描 0.0 |系统 12.9% │
│GB 免费 3.6GB 79.3GB |页面周期 0.0 |免费2.8%│
│总计(GB) 128.0GB 80.0GB |页面窃取 0.0 | ------ │
│ |页面错误 10.0 |总计 100.0%
提前致谢
【问题讨论】:
标签:
unix
system
aix
system-administration
【解决方案1】:
AIX 用完大部分内存是正常的,与其他操作系统相比,它释放内存的速度并不快。所有这些都由 AIX 的虚拟内存管理器 (VMM) 和lrud 内核进程负责。可以使用vmo 命令调整 VMM 的行为。
在 AIX 中,内存中有两种类型的文件 - 计算文件(即可执行文件及其工作区域);和非计算文件(即文件系统缓存)。
当 AIX 需要更多内存时,会执行lrud 进程来窃取内存。 lrud 将从内存中删除的内存中文件的类型由这些 VMM 参数确定 - minperm(%)、maxperm(%) 和 lru_file_repage。 vmo 命令可用于更改这些参数。
下面显示了lrud从内存中删除的文件类型。
如果numperm(%)(非计算文件缓存)高于maxperm(%);
lrud 将删除非计算文件。
如果numperm(%)低于minperm(%); lrud 将删除 > 计算或非计算文件页面,以最近最少使用的为准。
如果numperm(%) 介于minperm(%) 和maxperm(%) 之间,并且
lru_file_repage 是“1”;非计算页面将被删除,如果
它小于计算页面。否则如果lru_file_repage
为“0”:只会删除非计算页面。
要确定 AIX 是否存在内存问题,我会查看已扫描页面和已释放页面的比率(我不记得这在 nmon 输出中的什么位置)。如果这个比率值很高,则表明lrud 正在扫描大量页面以查找要从内存中删除的页面。
免责声明:我的回答基于我 3 到 4 年前在我以前的公司工作的 AIX 版本 5.3 - 6.0。但我怀疑在较新版本的 AIX 中lrud 和 VMM 参数的行为可能会发生重大变化。
【解决方案2】:
您要考虑与 FileSystemCache(numperm) 相关联的内存份额,并且在 nmon 输出中可以使用 lruable。这都是占用原本未被使用的内存的所有东西,这些内存可以很便宜地被驱逐(例如文件系统缓冲区)。如果您熟悉 Linux 上的 /usr/bin/free,它与缓冲区/缓存的 +/- 行非常相似。