AIX 5L 内存性能优化之配置和管理交换空间,优化(VMM) ,通过命令掌握AIX系统的交换空间内存使用状况,进而进行系统内存的性能优化,是一个系统管理员对系统优化要做的基本工作!
什么是交换(分页)空间?它是与 VMM 有关的。VMM 使用交换(分页)空间存储没有使用活动 RAM 的进程。正是因为这个目的,交换空间是系统整体性能的关键组件。作为一名管理员,您需要了解如何监视和优化您的分页参数。分页空间本身是一个特殊的逻辑卷,它存储了当前不访问的信息。您必须确保您的系统拥有足够的分页空间。如果分页空间过小,整个进程可能会丢失,并且当所有的空间都占满后,系统可能会崩溃。尽管值得再次说明,分页空间是 VMM 中的一部分,但是更重要的是真正地理解内核如何将进程调入到 RAM 中,过多的分页肯定会对性能造成影响。AIX 通过将内核与 VMM 紧密集成在一起,实现了一种称为请求分页的方法。事实上,内核本身的大部分都驻留在虚拟内存中,这样可以帮助释放它的片段空间以用于其他进程。我将更深入地介绍它的工作方式,并介绍在管理和优化分页空间时需要使用的一些工具。
您将了解到,优化工作必须根据系统的类型来进行。例如,对于使用 Oracle 联机事务处理 (OLTP) 类型数据库的系统,在配置多大的交换空间以及如何优化分页参数方面,通常有一些特定的推荐方案。正如本系列前几期文章中所介绍的,如果不能真正地了解系统的运行状况,您就无法对分页设置进行真正地优化。您需要了解所使用的工具、如何最好地分析将要捕获的数据,并熟悉实现分页空间的最佳实践。根据我的经验,导致系统崩溃的首要原因就是耗尽了分页空间。如果您仔细地阅读本文,并且遵循其中的建议方案,那么应该不会出现这种情况。很显然,您并不希望系统发生崩溃,但如果的确出现了这种情况,那么您将希望这是由于硬件故障造成的、而与您的操作无关,或者由于系统管理员的疏忽造成。
请求分页
在这个部分中,我介绍了 AIX 如何处理分页,给出了交换和分页的定义,并深入地研究了分页空间分配的几种不同模式。这些概念可以帮助您理解后续有关监视、配置和优化的部分。
大多数管理员都认为分页是一件很麻烦的事情。实际上,分页是 AIX 所完成的任务中非常必要的一部分,这是由于 AIX 内核与 VMM 及其请求分页的实现进行了紧密的集成。请求分页的工作原理是,内核一次仅加载部分页面到实际内存中。当 CPU 需要另一个页面时,它会到 RAM 中查找。如果无法在 RAM 中找到这个页面,则出现一次缺页,然后向内核发出信号以便从磁盘中加载更多的页面到 RAM。请求分页的一个优点是,分页空间不需要非常大,因为数据总是在分页空间和 RAM 之间不断地交换。在较早的 UNIX® 系统中,将分页预先分配到磁盘,无论使用还是不使用它们。这使得所分配的磁盘空间可能永远不会被使用。从本质上说,请求分页可以避免盲目地分配磁盘空间。应该使得进程的交换最少,因为许多任务可能存储在 RAM 中。的确如此,因为进程(页面)只有一部分存储在 RAM 中。
交换指的是什么呢?尽管分页和交换通常可以互换使用,但它们之间存在细微的区别。如前所述,在进行分页时,进程的部分内容将在磁盘和 RAM 之间来回移动。当发生交换时,会将整个进程来回移动。为了支持这种情况,在将进程移动到分页空间之前,AIX 会挂起整个进程。只有在将进程交换回 RAM 之后,才能够继续执行它。出现这样的情况并不是很好,您应该尽量防止交换的发生,交换可能会导致另一种称为颠簸的情况(稍后将介绍这个内容)发生。
作为一名 UNIX 管理员,您可能对分页和交换的一些概念已经非常熟悉。AIX 提供了三种不同模式的分页空间分配策略:延迟的页面空间分配(deferred page space allocation)、晚页面空间分配(late page space allocation)、早页面空间分配(early page space allocation)。AIX 的缺省策略是延迟的页面空间分配。这样可以确保将分页空间的分配延迟到必须调出页面的时候进行,从而确保不会浪费分页空间。事实上,当您拥有很大的 RAM 时,您甚至不需要使用任何分页空间(请参见