AIX 5L内存性能优化(3)
2007-08-27 08:14:32 来源:WEB开发网清单 12. maxfree 和 minfree 的缺省设置# vmo -a | grep free
maxfree = 1088
minfree = 960
让我们来介绍一些优化页面空间的阈值。如前所述,当您的分页空间开始变得很低时,系统将会警告破坏性的进程,然后终止它们。更改哪些阈值可以影响这项活动呢?这些阈值分别是 npsware、npskill 和 nokilluid。Npswarn 是当空间变得较低时用于通知进程的阈值。Npskill 是 AIX 开始终止进程的阈值。如果您的策略是早页面空间分配策略,它将不会终止进程。如果您还记得,我曾提到过,这是最可靠的分页方法。Nokillid 是一个非常重要的阈值,因为如果它设置为 1,那么它将确保不会终止 root 所拥有的进程,即使达到了 npskill 阈值。
而且,当因为分页空间的问题使得进程不能通过 fork 系统调用来创建子进程时,调度程序将重新尝试为其创建子进程,共重试五次,每次重试之间延迟十个时钟周期。您可以更改 schedo 参数以增加或者减少尝试的次数。用于这项任务的参数是 pacefork 值。您可以查看的另一个重要参数是 lrubucket。对这个参数进行优化,可以降低扫描开销。在对拥有大量内存的系统进行扫描时,因为页面置换算法始终查找空闲帧,所以需要扫描的页帧的数目是非常重要的。增加这个值可以减少需要扫描的桶数。这样做可以帮助提高性能。清单 13 使用了带 -a 选项的 vmo 命令,以显示 lrubucket 的值。
清单 13. 显示 lrubucket 的值# vmo -a | grep lru
lru_file_repage = 1
lru_poll_interval = 0
lrubucket = 131072 (this is in 4 KB frames)
要将其缺省值从 512MB 增加到 1GB,可以使用 # vmo -o lrubucket=262144。
您可以通过这种方式使用 vmo 来降低 AIX 系统中的分页。
总结
本系列文章的第 3 部分介绍了一些用于捕获数据进行交换分析的工具。您使用了一些系统管理命令来显示和配置系统中的交换参数,并且了解了有关分页和交换的概念、以及 AIX 中可用于分页的各种方法。您还看到了一些对系统的分页空间进行配置的最佳实践。最后,您学习了优化 VMM 以处理分页和交换的特定方法。本系列文章的第 1 部分和第 2 部分详细地介绍了 VMM 以及如何对内存瓶颈进行故障诊断。您使用了各种工具帮助监视系统,以便进行短期和长期的分析。您还了解了通用优化方法的所有内容,以及在出现瓶颈前对系统进行监视的重要性。这使得您能够在系统正常运行时建立基准数据,以便可以使用本系列文章中所介绍的方法,包括优化您的内存子系统。请确保在将更改部署到生产环境之前,在开发或测试环境中对它们进行测试。
更多精彩
赞助商链接