AIX操作系统性能优化的研究及应用

时间:2022-08-16 12:30:35

AIX操作系统性能优化的研究及应用

摘要:在企业信息化建设过程中,小型机的应用越来越普遍,操作系统性能的优化和调整是企业应用系统稳定可靠运行的重要保证。针对小型机及AIX操作系统应用过程中出现的系统性能和效率低下的问题,对与AIX操作系统性能相关的几个方面和对应的优化方法分别进行了分析和研究,并对提出的优化方案进行了总结。

关键词:AIX;操作系统;性能分析;性能优化

中图分类号:TP316 文献标识码:A文章编号:1009-3044(2011)27-6690-02

Research and Application of Performance Optimization in AIX Operating System

ZOU Yu-long, CHEN Xue-li

(Automation Institute of Lanzhou Petrochemical Company, Lanzhou 730060, China)

Abstract: In the process of building enterprise information, the increasing application of minicomputer operating system performance optimization and tuning of enterprise applications important to ensure stable and reliable operation. AIX operating system for minicomputers and occurred during the application system performance and low efficiency, and AIX operating systems on performance-related aspects and the corresponding optimization methods were analyzed and studied, and the proposed optimization program summarized.

Key words: AIX; operating system; performance analysis; performance optimization

在企业信息化的建设过程中,尤其是ERP系统等大型信息管理系统的建设中,系统平台的选择至关重要。采用AIX操作系统的IBM pSeries 小型机的性能和可靠性都非常出色,是应用比较广泛的小型机。在应用系统建设初期,我们往往只关注业务流程的设计和系统功能的实现,从而忽略了系统平台的性能问题。当系统运行较长时间后,系统中的数据量不断增大,系统性能问题便会突现,直接影响应用系统的使用效果和运行效率。通过对AIX操作系统的优化,我们可以使小型机的资源得到最均衡和最充分的利用,增强系统的吞吐能力,从而减少响应时间,提高用户满意度。

1 CPU子系统的性能分析和优化方法

1.1 CPU子系统的监测及分析

AIX操作系统进行CPU负载监测和分析的工具,主要包括vmstat, sar, tprof等。这些工具各自具有不同的优势和特点。CPU性能优化的主要工作是合理调度CPU资源。

Vmstat是AIX操作系统最常用的监测工具,它可以提供CPU的负载、核心进程、虚拟内存、磁盘访问及终端调用的信息,可以被用来作为调整系统负载平衡的依据。在多用户的环境下us+sy超过80%,则会有进程可能要在运行队列中等待,从而吞吐量和响应速度会降低。

Sar工具对CPU负载进行监测时,输出的是系统总体的CPU工作负载信息。如果服务器有多个CPU,而程序采用的是单线程工作模式时,有时候会出现CPU总体的使用率不高,但应用却运行缓慢的情况。此时,可能是单线程只使用了一个CPU,导致某个CPU100%占用,而其他CPU空闲的情况。Sar工具可以对多个CPU分开查询,统计每个CPU的使用情况,尤其适用于监测多个CPU间负载是否均衡。

Tprof命令用来统计每个进程的CPU使用情况,它可以在一段时间内抓取CPU活动信息。CPU的负载分成系统内核kernel,共享share,用户user,以及其他other四部分显示,并且可以显示各部分在特定时间内占用CPU时间片的信息。从以上信息可以分析出系统中内核模块及库文件被调用次数的比率,从而找到被调用的热点模块及文件。

1.2 CPU子系统的优化方法

在smp的服务器上,把系统进程绑定在一个固定的CPU上,可以让高优先级的应用分配得到相对更多的CPU时间,进程的关联内容也就能够保持更长时间,同时也能够减少cache失效造成的损失,从而提高系统性能。执行bindprocessor命令把进程绑定到某个CPU上,进程的子进程可以自动继承绑定。

使用ps Cefl命令可以看到,进程的优先级从0到127,值越小则优先级别越高,实时的进程优先级为0到40,用户的进程优先级为40到127。可以使用nice和renice命令控制进程的优先级别,使重要的应用享有较高的优先级,nice命令用于进程启动时,renice命令用于进程运行过程中。

IBM的POWER CPU的时间片默认大小为10ms,可以通过命令schedo来修改缺省值,对于需要运行较长时间的程序,为了避免运行过程中因为I/O操作而挂起,应该尽量增长时间片大小,减少时间片切换,时间片切换需要消耗大量CPU时间。但长时间片在单CPU系统中,会导致其它进程等待当前进程释放CPU资源,从而系统响应时间变长。

2 内存子系统的性能分析和优化

2.1 内存子系统的监测和分析

对于AIX内存子系统的监控主要是分析系统内存的使用状况及系统是否存在由于内存使用不当而出现影响系统性能的现象,同时,在系统内存不足时寻找更合理的内存分配策略,借助页交换空间更有效的管理和使用内存。在AIX系统中,内存是通过Virtual Memory Manager来进行管理的,虚拟内存系统由实际内存和部分物理磁盘的空间共同构成。

使用vmstat命令来监测内存使用状况,可以得到实际物理内存和交换区空间中被使用的内存总的页面数量。其中Po和Pi列是内存和磁盘交换区调页和缺页的活动。由于访问磁盘交换区的速度远远小于访问内存页面的速度,所以频繁换页会降低系统性能。

Svmon命令可以对内存使用进行更深层次的分析,得到当前内存使用状态的快照信息。当出现内存性能低下的问题时,可以提供详细的进程和对应内存的信息。

Topas命令可以输出内存及各个磁盘的负载情况,以及程序页、非程序页、client页所占用的比例情况,磁盘交换区的使用和空闲比例。

2.2 内存子系统的优化方法

内存页面大小默认是4KB,通过vmo命令调整相关参数,就可以对AIX系统进行优化以提供较大的内存页面,从而将TLB(Translation Lookaside buffer)映射到更大的虚拟内存范围,提高TLB的命中率,对于消耗大量内存的应用程序,可以极大地提高系统性能。

虚拟内存的所有页面被分为程序页和文件页两种类型。前者是读入可执行程序的部分,后者为读入文件数据的部分。通过调整minperm和maxperm则可以平衡程序页和文件页的交换。如果实际物理内存中文件页的百分比低于minperm,换页算法不考虑再访问页的命中失败率,将同时调出程序页和文件页;如果实际物理内存中文件页的百分比高于maxperm,换页算法只调出文件页;如果实际物理内存中文件页的百分比介于两者之间,换页算法一般情况下只调出文件页,但如果文件页的再访问页命中失败率高于程序页,则同时调出程序页和文件页。因此,调整这两个参数可以进一步减少程序页面的调出,提高系统性能。

合理设置交换分区空间的大小,可以避免调页空间不足导致进程挂起,提高系统运行效率。若交换空间的使用率高于60%,则应考虑增加交换分区大小或数量。设置交换分区应遵循以下原则:创建多个大小相同的交换分区,每个交换分区都分布在不同的磁盘上,这样在使用交换分区时,能同时对多个磁盘进行读写,提高磁盘的I/O性能。

3 磁盘I/O子系统的性能分析和优化方法

3.1 磁盘I/O子系统的监测和分析

AIX系统采用逻辑卷管理LVM(Logical Volume Manager)方式来管理磁盘空间,它的优点包括:可以使用不连续的磁盘空间;可以动态扩展逻辑卷的大小;逻辑卷可以镜像;逻辑卷可以重定位等。

Iostat命令可以监测当前磁盘的I/O负载情况。当出现磁盘受限或磁盘使用率过高的情况时,说明磁盘的负载过高,出现了I/O的瓶颈。

Filemon命令用来跟踪和获取某段时间间隔内的I/O活动的详细信息,包括本地文件系统、LVM、物理磁盘和虚拟内存段,该命令还可以从一个指定的文件中读取I/O跟踪数据。跟踪数据分为全局报告和详细报告,全局报告列出了测量时间内最活跃的文件、段、逻辑卷和物理卷,详细报告包括为每个文件提供的详细文件统计信息。在优化过程中,我们可以将访问频繁的文件转移至相对空闲的逻辑卷和物理卷,从而提高系统I/O性能。

3.2 磁盘I/O子系统的优化方法

卷管理的优化,把经常被访问的热点文件移至负载相对较轻的硬盘上,以用来平衡I/O负载,通常的方法为将文件移动到其他物理磁盘,或通过RAID机制将文件条块化到多个物理磁盘。

对于JFS格式的预读页可以通过修改minpgahead和maxpgahead参数进行优化,顺序预读功能可以改进需要顺序访问超大文件时系统的性能。

若应用系统进行同步I/O操作,则必须等待I/O完成之后才能继续执行。相反,异步I/O操作在后台运行,不会阻塞用户的进程。这样I/O操作和正在处理的用户进程可以同时进行,有效的提高了I/O吞吐量。

4 结论

总之,通过以上的分析和优化,应用系统的运行效率和速度都得到了极大的提升,使服务器的硬件资源得到了最有效的利用。AIX系统的优化工作涉及到多个方面,是一项比较复杂和关键的技术,系统的优化也要依托于服务器硬件的性能。随着企业信息化的不断推进,应用系统的性能优化也显得越来越重要,本文所进行的研究和提出的优化方案可以为其他企业信息化建设提供依据。

参考文献:

[1] 文平.ORACLE大型数据库系统在AIX上的实战详解[M].北京:电子工业出版社,2009.

[2] 王轶.RS/6000小型机AIX系统性能监控和调整的研究[J].铁路计算机应用,2004(13):1-4.

[3] 宋利辉.AIX操作系统下应用系统的维护与性能优化[J].中国金融电脑,2005(6):51-55.

[4] 邱晓理.UNIX操作系统运行性能监控工具的应用[J].华南金融电脑,2003(12):45-47.

[5] 刘颖.UNIX与LINUX系统管理[M].北京:清华大学出版社,2006.

上一篇:基于虚拟仪器平台的速降系统设计 下一篇:多媒体技术的发展与应用