如何调试AIX上的应用程序
Aix的一些配置参数

1.远程客户可通过"login, ftp"登录, 但不可通过"telnet"登录1. 使用命令"ps -ef" 查看"telnetd"进程是否启动;2. 检查文件/etc/services中的"telnet port"是否为"23", 如果不是,改为"23",然后执行" refresh-s inetd".2.在AIX中设置中文环境在AIX中使用中文有两种途径:第一是在安装AIX时选择中文语言,装好的系统自动显示中文(这种方法不推荐使用,它没有第二种方法使用起来灵活)。
第二是安装AIX时选择英文,系统启动后手工设置中文环境,方法如下:1. 将AIX系统盘的第一张光盘放入光驱;2. 运行命令:smitty--> System Environments--> Manage Languange Environment--> Change/Show Primary Language Environment--> Change/Show Cultural Convention, Language, or Keyboard在随后显示的菜单中将光标分别移到以下字段:Primary CULTURAL ConventionPrimary LANGUAGE translationPrimary KEYBOARD按下<F4>,从弹出的菜单中选择“IBM-eucCN”将上述字段改为简体中文,按下回车键后系统自动从光盘安装中文环境软件包。
此操作完成后重新启动系统,操作界面即为简体中文。
需要输入中文时使用下列功能键切换输入方法:AIX 4.3.3 以前的版本:<Shift> + F1 --- <Shift> + F4 切换到各种中文输入方法;右<Alt> --- 切换到英文输入;AIX 4.3.3:CTRL + [F2] : 智能ABC ;CTRL + [F4] : 拼音输入;CTRL + [F5] : 五笔输入;CTRL + [F6] : 郑码输入;CTRL + [F7] : 表形码输入;CTRL + [F9] : 内码输入;CTRL + [F10] :英文半角;此外,AIX还包含另外两种中文环境,即“UTF8”和“GBK”,它们与“IBM-eucCN”之区别在于包含了繁体汉字的使用。
AIX操作系统常用方法

AIX操作系统常用方法原作者:崔伟光创建者:崔伟光AIX操作系统使用心得AIX是IBM公司开发的业界领先的优秀商务Unix操作系统,在可靠性、可用性、开放性、扩展性、高性能、安全性等方面都非常突出,尤其是在Internet的关键应用领域以及系统和硬件管理能力方面,其性能表现更为出色,受到了业界的普遍认可和广泛使用。
项目使用的操作系统也是AIX居多,在日常操作中经常遇见一些问题,其实使用操作系统的命令就可以实现。
1、windows下的文件拿到AIX下往往在行尾会出现“^M”,解决办法可以在命令行执行$ sed 's/^M//g' filename其中,^M 是这样打出来的:‘ctrl + v + M’也可以在vim 编辑工具下面使用:%s/^M//g 去掉2、如何在某个目录及其所属子目录的所有文件中查找字符串?在程序维护过程中,有时需要在某个目录及其所属子目录的所有文件中查找某一个字符串,为此可用下面两种方法(假设在*.cp文件中查找字符串"abc",结果放在文件out中):(1)cat /dev/null > outfind ./ -name "*.cp" -exec grep "abc"{} >> out(2)find ./ -name "*.cp" | xargs grep "abc" > out推荐使用第二种方法,因其系统开销小、速度快。
3、如何对/etc/inittab文件中的一行进行注释?我们都知道在shell中使用"#"作为注释符号,但在/etc/inittab中注释一行的方法是在第一个字符前插入字符":"。
4、如何转换DOS和AIX两种格式的文本文件?有时候做回归测试需要diff新旧版本两个文件是否一致,但是可能以前版本的文件是DOS格式的,或者版本上载的时候拿下去的cksum值和AIX下的文件不一致,造成文件diff有误差,如欲转换DOS和AIX 两种格式的文本文件,有两种方法:(1)用ftp命令:设置ASCII传输类型,在一台运行AIX的机器和另外一台运行Windows的机器之间互相传送。
AIX小型机系统监视工具参数详解和调整内存的使用综述

1、监视和调整内存的使用一个系统的内存通常会几乎被占满。
即使当前运行的程序没有消耗掉所有的内存,操作系统也会将较早运行的程序和它们所使用的文件的文本页面驻留在内存。
这样的驻留并没有任何的开销,因为内存无论如何都不会去使用这一段内存。
在许多情况下,程序或者文件将会被再次用到,这样可以减少磁盘的输入输出。
检测有多少内存正被使用一些测试性能的工具提供了内存使用的报告。
我们最感兴趣的报告是由 vmstat ,ps ,和svmon 命令提供的。
vmstat 命令(内存)vmstat命令概括了系统中所有进程所使用的活动的虚拟内存,同时还有空闲列表上实际内存页的数量。
活动的虚拟内存被定义为虚拟内存中实际可以得到的工作的段页的数量(参考页面后分配中的定义)。
这个数字可能大于机器中实际页面的帧,因为一些动态虚拟内存也可能写到字分页空间以外去。
在检测内存是否短缺或者是否有需要调优内存,一系列时间间隔里输入vmstat命令,在结果报告中检验 pi 和 po 栏。
这两栏表明了每秒页面调入的页数和每秒调出的页数。
如果该值经常为非零值,说明可能存在内存瓶颈。
偶尔出现的非零值不用在意因为页面调度是虚拟内存的主要原理。
# vmstat 2 10kthr memory page faults cpu----- ----------- ------------------------ ------------ -----------r b avm fre re pi po fr sr cy in sy cs us sy id wa1 3 113726 124 0 14 6 151 600 0 521 5533 816 23 13 7 570 3 113643 346 0 2 14 208 690 0 585 2201 866 16 9 2 730 3 113659 135 0 2 2 108 323 0 516 1563 797 25 7 2 660 2 113661 122 0 3 2 120 375 0 527 1622 871 13 7 2 790 3 113662 128 0 10 3 134 432 0 644 1434 948 22 7 4 671 5 113858 238 0 35 1 146 422 0 599 5103 903 40 16 0 440 3 113969 127 0 5 10 153 529 0 565 2006 823 19 8 3 700 3 113983 125 0 33 5 153 424 0 559 2165 921 25 8 4 630 3 113682 121 0 20 9 154 470 0 608 1569 1007 15 8 0 770 4 113701 124 0 3 29 228 635 0 674 1730 1086 18 9 0 73注意到输出列队里的高输入输出等待,也注意到阻塞队列里线程的数量。
AIX系统操作手册

IAIX系统操作手册系统操作手册版本:5L目录第一章AIX操作系统的安装 (5)安装介质与方式 (5)BOS(Base Operating System)安装 (5)第二章AIX操作系统基本命 (8)➢系统的进入和退出 (8)password (8)mkdir、rm、mv和cd (8)ls (9)date (10)wc (10)who (10)finger (11)ps (11)kill (15)find (15)grep (16)第三章vi编辑器 (18)3.1vi 简介 (18)3.2vi的进入与离开 (18)3。
3vi 的文本输入模式 (18)3。
4vi 基本编辑命令 (19)3。
5文件处理子命令 (21)第四章存储管理 (21)4.1相关术语 (21)PV (Physical V olume) (21)VG (Volume Group) (21)PP (Physical Partition) (22)LP (Logical Partition) (22)LV(Logical V olume) (22)Mirror(镜像) (22)VGDA(Volume Group Description Area,卷组描述区) (22)VGSA(V olume Group Status Area,卷组状态区) (23)4.2PV的管理 (23)硬盘安装 (23)配置一个PV (23)修改PV的属性 (24)删除一个PV (24)4。
3VG的管理 (24)创建一个VG (24)删除一个VG (25)对VG的管理 (25)4。
4LV的管理 (27)增加一个LV (27)修改LV的属性 (28)删除一个LV (31)第五章RS6000 更换硬盘的过程 (33)HDISK0和HDISK1做成MIRROR,是ROOTVG (33)先做系统备份 (33)查看HDISK0的S/N,P/N号等,在换盘的时候做对照 (33)查看所有硬盘(包括逻辑盘)的状态#lsdev -Cc disk (34)停HACMP (34)把HDISK0从ROOTVG中不做MIRROW (34)关机 (35)开机 (35)把HDISK0加到ROOTVG中并做镜像 (35)重启动2号机 (35)关闭1号机的HACMP (36)重启动1号机 (36)启动1号机的HACMP (36)启动2号机的HACMP (36)第六章HACMP安装配置 (36)准备工作 (36)检测连8port卡的TTY (37)使用AIX安装CD安装文件 (37)修改电源管理 (38)Netscape安装和配置 (38)安装HACMP/ES软件 (38)安装最新的AIX和HACMP补丁 (39)SSA微码升级 (39)设置主机名 (39)为所有网卡绑定boot或standby的IP地址 (40)创建VG、LV和FS (40)修改系统参数 (41)重启两台机器 (42)配置HACMP (42)HA测试(一):启动和关闭 (44)HA测试(二):本机IP接管 (44)HA测试(三):资源接管 (45)第七章模拟硬盘更换 (46)预做方案 (46)查看硬盘信息 (46)把要更换硬盘从VG中拿掉 (47)关机 (47)准备工作 (47)拆机箱 (47)更换硬盘 (47)开机 (47)查看硬盘 (47)改PV (47)做镜像 (48)把另一块盘18G拿掉 (48)关机 (48)更换硬盘 (48)开机 (48)查看硬盘信息 (48)改PV (48)做镜像 (48)起服务 (48)英迈强人 (49)第二方案 (50)把把机器的前面板拆下 (50)查看硬盘信息,看哪个盘是干什么用的 (50)把要更换硬盘从VG中拿掉 (50)把硬盘做成PV (51)lspv查看硬盘情况 (51)把硬盘加到VG中 (51)把18G硬盘数据复制到36G上, (51)取下另一18G硬盘 (51)把硬盘做成PV (51)做镜像 (52)检查,OK (52)第一章AIX操作系统的安装安装介质与方式AIX操作系统的安装可以:1)通过Tape安装。
AIX 调试工具

AIX 调试工具Kalyanji Chintakayala, 开发人员,IBM DataStage Server Engine, IBM简介:本文讨论帮助应用程序开发人员在AIX® 上调试应用程序的工具。
这对于调试信息非常少的客户环境尤其有帮助。
客户报告的 bug 不一定能够在开发环境中轻松地重现。
应用程序崩溃、挂起和性能低下都可能无法重现。
在这种情况下,需要可以在客户环境中使用的调试工具。
本文讨论一种调试方法和一些常见的问题领域,以及 AIX 上可用的工具。
注意,本文不讨论性能调试。
AIX 环境当环境中出现问题时,我们首先要查明操作系统版本和使用的硬件。
这个步骤很重要,因为需要确认是否有可以进行调试的可重现环境,如果没有,就需要重新创建相同的环境。
系统配置通过运行 prtconf 命令查看总体系统配置。
清单 1. 总体系统配置#prtconfSystem Model: IBM,8204-E8AMachine Serial Number: 06381D2Processor Type: PowerPC_POWER6Number Of Processors: 2Processor Clock Speed: 4204 MHzCPU Type: 64-bitKernel Type: 64-bitLPAR Info: 2 ibmmachineMemory Size: 9344 MBGood Memory Size: 9344 MBPlatform Firmware level: Not AvailableFirmware Version: IBM,EL320_076Console Login: enableAuto Restart: trueFull Core: false版本和维护级别以下命令显示 AIX 的版本、发布版和维护级别。
清单 2. AIX 的版本、发布版和维护级别# instfix -i|grep AIX_MLAll filesets for 5.3.0.0_AIX_ML were found.All filesets for 5300-01_AIX_ML were found.All filesets for 5300-02_AIX_ML were found.All filesets for 5300-03_AIX_ML were found.All filesets for 5300-04_AIX_ML were found.All filesets for 5300-05_AIX_ML were found.All filesets for 5300-06_AIX_ML were found.All filesets for 5300-07_AIX_ML were found.# lslpp -h bos.rteFileset Level Action Status Date Time---------------------------------------------------------------------------- Path: /usr/lib/objreposbos.rte5.3.0.50 COMMIT COMPLETE 10/17/07 16:34:575.3.0.60 COMMIT COMPLETE 03/11/08 16:08:595.3.7.0 COMMIT COMPLETE 03/12/08 11:28:55# oslevel -r5300-07CPU 和内核类型清单 3. CPU 和内核类型# bootinfo -K64# bootinfo -y64已安装的软件产品清单 4. 已安装的软件产品# lslpp -lc|grep -i perl/usr/lib/objrepos:perl.libext:2.1.0.10::COMMITTED:I:Perl Library Extensions :/usr/lib/objrepos:perl.rte:5.8.2.71::COMMITTED:F:Perl Version 5 Runtime Environment:系统运行时间#uptime05:16PM up 2 days, 1:36, 4 users, load average: 1.95, 1.90, 1.80调试应用程序崩溃的工具如果一个程序终止了,根据终止类型,可能会生成核心文件(core file)。
AIX虚拟机使用及系统安装调试说明

AIX虚拟机使用说明
创建分区:
查看/修改分区列表里右侧创建分区
输入分区名,选择环境。
分区标识是系统默认按顺序分配的。
点下一步
选择内存大小,之后点下一步选择分配的处理器数。
选择虚拟网卡,每个网卡有4个网口,若不够用可点击创建适配器继续添加网桥,建4个网桥可最大分配4个网卡给这台虚拟机。
创建虚拟盘
从存储池中分配虚拟盘大小,20G可安装Aix系统
下一步选择虚拟光纤通达,没有使用存储,直接继续下一步
安装介质选择虚拟光学设备,点修改选择已上传好的系统镜像
创建前总览,没问题点完成即可
完成后激活前需要先勾选新建虚拟机,点更多任务,打开终端窗口
若提示有风险接受继续运行
输入用户名密码padmin
连接成功后最小化本窗口,点激活按钮
之后在命令终端上提示按0来在本终端上显示安装过程,按0确认
选择1回车
接下来安装过程和现实安装步骤一样
物理机安装系统需要1小时左右,虚拟机安装大约需5-10分钟。
AIX参数调整

1.1.1AIX操作系统1.1.1.1maxuproc参数配置利用lsattr -Elsys0 检查maxuproc参数的大小。
maxuproc为每个用户的最大进程数,通常如果系统运行DB2或ORACLE是应将maxuproc调整,Default:128、调整到500,maxuproc增加可以马上起作用,降低需要AIX重起。
通过smit菜单进行操作:System Environments--> Change / Show Characteristics ofOperating System--> Maximum number of PROCESSES allowed per user项的值设置为:200或256。
1.1.1.2Maxpout和minpout参数配置(较早AIX版本)High water mark for pending write I/Os per file(maxpout) 和Low water mark for pendingwrite I/Os per file(minpout)。
它们缺省值为0,当应用涉及大量的顺序读写而影响前台程序响应时间时,在双机环境中一般应设High water mark为33,Low water mark为24,这两个参数可用smitty chgsys来设置。
在smit hacmp-->Cluster Configuration-->Advanced Performance Tuning Parameters-->Change/Show I/O pacing下的HIGH water mark for pending write I/Os per file(Num.)设成33LOW water mark for pending write I/Os per file(Num.) 设成24Maxpout和minpout参数配置(AIX5.2版本)smit hacmp--->extended configuration--->Extended Performance Tuning Parameters Configuration--->Change/Show I/O pacing 中HIGH water mark for pending write I/Os per file LOW water mark for pending write I/Os per file1.1.1.3syncd daemo参数配置(较早AIX版本)该值表示刷新内存数据到硬盘的频率,缺省为60,一般可改为10,也可根据实际情况更改。
如何调试AIX上的应用程序

如何调试AIX 上的应用程序----越来越多的用户选择了IBM的RS/6000服务器作为应用程序的运行平台,并且伴随应用程序复杂度的增加,给系统以及应用程序的性能提出了进一步的要求。
在这里讲解是如何在AIX环境中调试系统性能,找出具体的问题和产生的原因,找到解决的办法,使得应用程序的反应速度加快,以满足用户的需求。
----从性能角度来看,总体上分为:系统整体性能和应用程序个体的性能。
从性能调试的方法来讲大体上是一致的,只是着重点和调试目标的不同。
在系统性能方面,是为了达到最大的系统吞吐量并减小反应时间;在应用程序方面,是为了减小反应时间。
----性能调试就是使得应用程序和系统的资源分配能够最佳地符合当前特定环境。
----性能调试的流程如下:首先判断CPU是否是瓶颈,如果CPU是瓶颈则调试系统或应用程序的参数,增强CPU;第二判断内存是否是瓶颈,调节系统和应用程序关于内存的参数,使内存的使用达到最佳;第三判断磁盘的输入/输出是否是瓶颈,调节磁盘的使用状态及参数,减少输入/输出时间;第四判断网络是否是瓶颈,调节网络环境或应用程序访问方式,增加网络吞吐量或减小网络压力;第五附加的测试跟踪,使用附加工具生成分析报表。
----这里开始对每一个步骤进一步的阐述。
----对于每一个进程来讲,它们都有进程优先级,计算公式为:PRI=NICE+40+CPU_ PENALTY,从公式中可以看到基本上用户进程的优先级是大于40的。
可以使用“ps -l”和“ps -emo THREAD”命令分别查寻进程和线程的CPU使用状态。
使用“nice -n proname”和“renice +n proid”来修改进程的优先级。
----对CPU的整体调试过程可以总结如下:首先使用“iostat”、“vmstat”和“sar”命令查看是否CPU有瓶颈,以及使用状态;使用“ps”命令查看哪条进程占用大量CPU时间;使用“prof”、“gprof”和“tprof”命令查看特定的应用程序中哪些或哪一条语句占用CPU过长;----改应用程序代码,优化程序,对于十分消耗CPU资源的数学算法调用要使用AIX系统提供的函数库BLAS/ESSL中的数学算法,这些算法函数要比程序员自己开发的函数节省系统资源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何调试 AIX 上的应用程序 ----越来越多的用户选择了 IBM 的 RS/6000服务器作为应用程序的运行平台,并且伴随应用程序复杂度的增加,给系统以及应用程序的性能提出了进一步的要求。
在这里讲解是如何在 AIX 环境中调试系统性能,找出具体的问题和产生的原因,找到解决的办法,使得应用程序的反应速度加快,以满足用户的需求。
----从性能角度来看,总体上分为:系统整体性能和应用程序个体的性能。
从性能调试的方法来讲大体上是一致的,只是着重点和调试目标的不同。
在系统性能方面 ,是为了达到最大的系统吞吐量并减小反应时间; 在应用程序方面 ,是为了减小反应时间。
----性能调试就是使得应用程序和系统的资源分配能够最佳地符合当前特定环境。
----性能调试的流程如下 :首先判断 CPU 是否是瓶颈 ,如果 CPU 是瓶颈则调试系统或应用程序的参数 ,增强 CPU ;第二判断内存是否是瓶颈 , 调节系统和应用程序关于内存的参数 , 使内存的使用达到最佳;第三判断磁盘的输入 /输出是否是瓶颈 ,调节磁盘的使用状态及参数 , 减少输入 /输出时间;第四判断网络是否是瓶颈 , 调节网络环境或应用程序访问方式 , 增加网络吞吐量或减小网络压力;第五附加的测试跟踪 ,使用附加工具生成分析报表。
----这里开始对每一个步骤进一步的阐述。
----对于每一个进程来讲 , 它们都有进程优先级 , 计算公式为 :PRI=NICE+40+CPU_ PENALTY,从公式中可以看到基本上用户进程的优先级是大于 40的。
可以使用“ ps -l” 和“ ps -emo THREAD” 命令分别查寻进程和线程的 CPU 使用状态。
使用“ nice -n proname” 和“ renice +n proid ” 来修改进程的优先级。
----对 CPU 的整体调试过程可以总结如下 :首先使用“ iostat ” 、“ vmstat ” 和“ sar ” 命令查看是否 CPU 有瓶颈 ,以及使用状态;使用“ ps ” 命令查看哪条进程占用大量 CPU 时间;使用“ prof ” 、“ gprof ” 和“ tprof ” 命令查看特定的应用程序中哪些或哪一条语句占用 CPU 过长 ;----改应用程序代码 , 优化程序, 对于十分消耗 CPU 资源的数学算法调用要使用 AIX 系统提供的函数库 BLAS/ESSL中的数学算法,这些算法函数要比程序员自己开发的函数节省系统资源。
----此外 ,在编译可执行文件时 ,使用优化参数对程序进行进一步优化。
----对于 CPU 的消耗在很多情况下是由应用程序引起的,在应用程序优化完成以后 , 如果 CPU 依然没有很大的改善 , 这就需要对 CPU 直接进行升级了, 要么就增加 CPU 的个数。
这里还有两个命令在应用程序调试时十分有用:“ time ” 和“ timex ” 。
这两个命令可以检测出某个应用程序从开始到结束总共花费的时间, “ time ” 返回分钟数和秒数, “ timex ” 返回总共的秒数。
----在判断和调试系统内存之前 , 首先要了解内存访问的概念。
内存在大多数情况下指虚拟内存 , 其中包括实内存 (Real Memory 和磁盘上的虚拟空间(Paging Space 。
值得注意的是在 AIX 系统中, 实内存的输入 /输出不仅在磁盘虚拟空间之间产生, 而且包括另外两种形式 :固定数据文件 (PersistentSegment 和远程数据文件 (Client Segment 。
为了减少磁盘的寻址时间 , 磁盘虚拟空间往往采用连续的存储空间。
----检测系统内存的使用情况主要使用命令“ vmstat ” , 此命令可以查看到活动的虚拟空间和剩余的实内存、内存页的输入 /输出状态和 CPU 是否有输入 /输出空闲。
在分析统计调试结果时 ,一定要注意上面提到的实内存输入 /输出的三种途径。
----使用“ ps au” 命令可以查看每条进程的内存占有情况 , 数据是以百分比的方式显示。
----还有一个命令十分有用, “ svmon ” ,这个命令帮助调试者进一步取得有关进程使用内存的信息 , 它可以生成当前使用内存最多的进程状态报表。
SVMON 命令和 VMSTAT 命令可以配合使用, 它们的返回结果有一部分是相互重叠的, 由此也可以验证进程使用内存状态的真实性。
另外 , SVMON 命令还可以分析出来指定进程在使用内存方面的细节 , 究竟是哪些程序片占用了哪些内存 , 参数是“ -P ” 。
----命令“ vmtune ” 用来修改操作系统与内存使用相关的系统参数。
通过修改内存系统参数可以改变系统对内存使用的方式以及分配原则 ,从而调节内存的输入 /输出。
----在内存的使用中有一个现象称为“ Thrashing ” , 即内存使用产生抖动现象 ,为了满足某些进程的执行, 不断地对内存进行输入 /输出, 当系统发现将要产生这种现象时 , 就会暂停某些进程使内存抖动现象不再发生。
抖动现象会影响某些进程的反应速度,要尽量避免内存抖动的产生。
内存抖动是由磁盘虚拟空间分配冲突造成的, 磁盘虚拟空间对应用程序进程来讲不够大。
----在磁盘的读写方面是与 AIX 操作系统的磁盘管理相关的。
AIX 操作系统的磁盘管理分为四个层次 :----文件 /目录、文件系统、逻辑卷和物理卷。
访问磁盘的适配器目前基本上有四类 :SCSI-1、 SCSI-2、 SSA 和 HIPPI 。
它们的访问吞吐量是从低到高。
数据存放在磁盘分区的不同也会影响访问速度,总的来说 , 存放在磁盘中心最快,从中心向两侧访问速度逐渐降低 (寻址时间会加长。
这里有五个系统参数在定义逻辑卷的时候可供选择:“ Inner Edge” 、“ Inner Middle” 、“ Center ” 、“ Outer Middle ” 和“ Outer Edge ” 。
使用“ iostat ” 命令可以查看每一块磁盘使用情况 ,如果是多块磁盘 , 可以检测到磁盘资源是否平均利用, 磁盘输入 /输出等待的百分比和整个磁盘的吞吐量等。
还有一条命令“ filemon ” ,这条命令可以收集到各个层面的访问信息 , 包括文件系统、虚拟内存和物理磁盘。
----此命令将收集到的信息输出到一个文件中,在信息文件中可以查询到逻辑卷的输入 /输出量 , 访问的文件名 , 读 /写的块数、其中顺序读 /写的块数分别是多少 , 磁盘寻址所占整个时间的百分比。
使用命令“ lslv ” 和“ lslv -l ” 可以查到指定的逻辑卷所存放的物理磁盘位置 ,以及实际的命中率。
当发现磁盘读写量较大, CPU 的输入 /输出等待较多, 但磁盘的使用比较均衡 ,这时就需要提高适配器的性能,增加适配器的吞吐量 , 可以增加磁盘适配器个数或者高一级的适配器。
----可以使用“ vmtune ” 命令调高与逻辑卷相关的参数“ hd_pbuf_cnt” , 当使用命令“ filemon ” 命令发现磁盘输入 /输出大部分是顺序读写的时候 ,调高参数“ hd_pbuf_cnt” 值会改善系统性能。
----上面讲到的调试方法大都直接与物理设备有关 , 下面来介绍以下如何调节文件系统的性能。
文件系统的访问包括逻辑文件系统、虚拟磁盘空间管理、裸设备读写和逻辑卷管理 ,并且系统对于单个文件的访问也根据文件的大小分为三种访问机制 :小于 32K 的文件直接访问、大于 32K 且小于 4M 的文件通过一层索引块寻址、大于 4M 的文件通过两层索引块寻址。
另外 ,在性能调试时应该考虑文件存放的物理位置是否是连续的 (有几个断点和该文件空间与文件存放所占用的连续物理空间的比例 ,这两个因素都会影响文件访问时的寻址时间。
可以使用“ fileplace ” 命令统计出指定文件的这两个数值。
第一个参考值为“ seqentiality ” , 其计算方式为 (文件总的块数 -中断次数 /文件总的块数;第二个参考值为“ space efficiency” , 其计算方式为 (文件总的块数 /文件存放占用区域的连续块数。
两个值都是越大越好。
在 AIX 系统中存在一个文件系统日志 , 名为“ JFS Log ” ; 这个文件日志同样会抢占磁盘的输入 /输出,这个文件日志应该与使用的文件系统处于不同的物理磁盘上。
----对于有的应用程序可以利用 AIX 操作系统提供的裸设备 (Row Device 存储方式 , 例如 UDB 关系型数据库系统可以将自身的表空间(Tablespace)和数据库日志存放在裸设备上,这样就提高了数据存取的速度。
----当发现文件系统中文件出现过多的断点时,可以对文件系统进行重整。
此项工作可以通过系统提供的“smit” 工具完成,也可以调用命令“defragfs”。
但为了安全起见,在进行这项工作之前要确保已经对当前的文件系统做了备份,最好有两份。
这里还要提到两个参数:“numfsbufs”和“lvm_bufcnt”,如果应用程序有大量向高速输入/输出端口的写操作,调高这两个参数会提高应用程序的访问速度。
参数“lvm_bufcnt”只对向裸设备的输入/输出操作起作用。
----网络性能和网络构架有直接关系,主要取决与网络每秒的传输速率。
有两个命令可以查看网络当前使用的状态,它们是:“netstat”和“netpmon”。
这两个命令分别可以看到不同的网络使用信息,其中“netpmon”可以查看到非常细致的网络上的传输使用状态。
对网络的调试命令有下列三种:“no”、“chdev”和“ifconfig”,通过这三个调试命令调试网络相关参数,提高网络传输性能。
----在某些应用程序中会对远程数据文件直接访问,这就用到了 NFS 服务。
查看 NFS 的使用状态可以使用命令:“nfsstat”。
有几个参数会直接影响 NFS 的访问速度,“nfsd daemons”的个数、虚拟磁盘空间为文件分派的大小、传输和接受队列的大小、参数“nfs_socketsize”和“sb_max”以及是否使用“Access Control Lists”。
虽然网络在特定的环境下,同样是可以将性能调高的,但这里还是建议使用者将经常访问的数据文件从远程复制到本地进行读写。
----在 AIX 操作系统中,系统提供了几个性能跟踪的程序:“trace”、“trcrpt” 和一系列图形工具。
图形工具包括:“PDT” 、“perfpmr” 、“PTX/6000”和“BEST/1”。
通过使用这些附加的工具,可以进一步对系统和应用程序的使用状态跟踪调试。
----最后,读者也许还记得在文章的开始,提到对应用程序的调试,这里强调的是,调试应用程序是提高性能的最佳手段,对应用程序的改善在某些情况下,会给性能带来成倍的提高。