AIX 中的非计算内存达到零值

AIX 中的非计算内存达到零值

我在数据库服务器上使用 AIX 6.1,我遇到了一个问题,非计算内存在某个时候达到 0,我猜这会导致系统交换,因此系统变得非常慢,我在一些论坛上看到这是由于文件缓存引起的,但它可能是由其他原因引起的,所以我怎么才能确切地知道这背后的原因,我到底该怎么做才能解决这个问题,我通常会重新启动数据库,但我猜这只是一个临时的解决方案,并不能真正解决问题。这是重新启动数据库后对 topas 输出的捕获,非计算内存开始增加,但几周后,同样的问题又发生了输出

输出


斯蒙 这是 svmon 命令的输出

答案1

首先,确定是否存在真正的问题。询问该系统必须提供什么样的交互响应时间或报告时间表,并确定实际的性能如何。

任何显著的页面调出或显著的页面空间使用率都表明内存被利用了。考虑到存储与 DRAM 相比速度有多慢,这是未达到最佳响应时间的症状。

确定系统的内存使用情况。您需要的许多主机虚拟内存管理器统计信息都是在运行时打印的,vmstat -v 例如, memory pages是系统上 4 KB 页面的总数。 minperm是保留用于文件缓存的最小内存百分比。通常只有百分之几,但用户无法使用。client pages 正在由用户程序使用。 free pages是免费的,基本上可以算作file pages免费的。

通常数据库有大量的共享内存。观察有多少共享内存段及其大小,作为ipcs -am 健全性检查,它们应该具有非零数量的附加进程,否则它们将处于孤立状态并且不执行任何操作。

您没有指定哪个数据库,但这对于一般方法论并不重要。我在您的 topas 输出中看到了 Oracle 进程。请参阅Oracle 性能指南,特别是有关配置和使用内存的章节. 确定 Oracle SGA 的大小。

如果您确定需要更多内存,这可能是一个相对便宜的升级。特别是如果使用 LPAR 并且框架中已经有可用内存可以添加到分区中。

相关内容