最近,Power7 系统上的一个 LPAR 似乎内存不足。在它启动时,我无法运行任何命令,因此我被迫执行操作系统重启。它的最小、所需和最大内存分配分别为 8GB、16GB 和 32GB。在用完可用的 16GB 后,是否有记录显示分配给此 LPAR 的全部 32GB(或任何可用内存)?
除了想要确认事情确实发生了之外,知道事情发生的确切时间也有助于排除故障。
答案1
这不是 pSeries 内存的 Min / Desired / Max 的工作方式。Desired 是 LPAR 在服务器启动时分配的内存量(如果整个框架中有那么多可用内存)。Minimum 是 LPAR 在启动时可以容忍分配的最低值,也是您可以允许的最低值动态减少内存,最大值是您可以动态分配在 LPAR 运行时将其添加到其中。
但是,在运行时,如果 AIX 达到 16GB,它不会消耗更多内存。LPAR 有 16GB,用完了,AIX 终止了一堆进程(这是正常的),然后您重新启动了它。它从未尝试获取更多内存,这不是它的工作原理。
要更改可用内存(增加或减少),您可以使用 HMC 执行 DLPAR 操作。因此,当服务器出现问题时,您可以从 HMC 手动将内存从 16GB 增加到 20GB,这可能有所帮助(或者可能没有这样做,或者 DLPAR 可能失败,因为它需要服务器分叉进程,这可能是不可能的)。您可以自动执行一些 DLPAR 活动,甚至可以将它们与 Tivoli 之类的东西结合在一起,但这不是自动发生的。
有一个这里有很好的总结。