aix 性能查看.docx_第1页
aix 性能查看.docx_第2页
aix 性能查看.docx_第3页
aix 性能查看.docx_第4页
aix 性能查看.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机系统的性能优化是一个综合性较强的话题,它涉及对系统资源以及应用环境(如应用程序及网络环境)的分析。本文将就如何检测RS/6000系统性能,找出引起性能降低的资源瓶颈做一个简单介绍(注: 本文不涉及由应用程序或网络因素引起的资源瓶颈问题)。所谓系统资源包括内存、CPU和输入/输出设备。通过使用以下命令,可以对RS/6000系统资源的负载情况有一个清楚的了解:vmstatsvmonpstprofiostatnetpmonfilemon注:使用命令vmstat、iostat和sar之前需安装软件包bos.acct使用命令ps需安装软件包bos.rte.control使用命令tprof、svmon、netpmon和filemon之前,需要安装软件包perfagent.tools我们可以从AIX系统盘的第一张光盘上寻找并安装上述软件包。 本文还将引用命令 vmtune 和 schedtune, 使用前需安装软件包bos.adt.samples内存瓶颈本节介绍以下几个用于检测系统的内存使用情况的命令,通过它们可以清楚地了解系统内存的使用及分配情况,确认内存资源是否存在瓶颈。1. vmstatvmstat命令用于统计并显示核心线程、虚拟内存、硬盘、中断及CPU的使用情况。运行命令# vmstat 2 10使用vmstat来进行性能评估,该命令可获得关于系统各种资源之间的相关性能的简要信息。当然我们也主要用它来看CPU的一个负载情况。 下面是我们调用vmstat命令的一个输出结果:$vmstat 1 2 System configuration: lcpu=16 mem=23552MBkthr memory page faults cpu - - - -rb avm fre repipofr srcyin sy cs us sy id wa00 3091988 2741152 0 0 0 0 0 01849 26129 4907 81 88300 3091989 2741151 0 0 0 0 0 02527 32013 6561152 776 对上面的命令解释如下:Kthr段显示内容 r列表示可运行的内核线程平均数目,包括正在运行的线程和等待 CPU 的线程。如果这个数字大于 CPU 的数目,则表明有线程需要等待CPU。 b列表示处在非中断睡眠状态的进程数。包括正在等待文件系统 I/O 的线程,或由于内存装入控制而被挂起的线程。Memory段显示内容 avm列表示活动虚拟内存的页面数,每页一般4KB fre空闲的页面数,每页一般4KBPage段显示内容 re 该列无效 pi 从磁盘交换到内存的交换页(调页空间)数量,4KB/页。调页空间是驻留在硬盘上的虚拟内存的一部分。当内存使用过量时,会将溢出的工作组页面存储到调页空间中(窃取页)。当进程访问一个窃取页时,就产生了一个缺页故障,而这一页页必须从调页空间中读入到内存中。 po 从内存交换到磁盘的交换页数量,4KB/页。如果窃取的工作也在调页空间中不存在或者已经作了修改,则写入调页空间中。如果不被再次访问,它会留在调度空间中直到进程终止或者放弃空间。 fr 根据页面替换算法每秒释放的页数。当VMM页面替换例程扫描页面帧表(Page Frame Table,PFT)时,它会根据一些条件选取需要窃取的页面以补充空闲列表。该条件中包含工作页面和计算页面,释放的页面中,计算页面不产生I/O,工作页面如果数据没有发生修改,也不需要写回磁盘,也不会产生I/O。 sr 根据页面替换算法每秒所检查的页数。sr值比fr值高的越多,说明替换算法要查找可以替换的页面就越困难。 cy 每秒页面替换代码扫描了PFT多少次。因为增加空闲列表达到maxfree值,不一定需要完全扫描PFT表,而所有vmstat输出都为整数,所以通常cy列值为0。Faults段显示内容(其实这段内容不需太多关注) in 在该时间间隔中观测到的每秒设备中断数。 sy 在该时间间隔中观测到的每秒系统调用次数。 cs 在该时间间隔中观测到的每秒钟上下文切换次数。Cpu段显示内容 us 列显示了用户模式所消耗的 CPU 时间。 sy 列详细显示了 CPU 在系统模式所消耗的 CPU 时间。 id 列显示了没有未决本地磁盘 I/O 时 CPU 空闲或等待时间的百分比。 wa 列详细显示了有未决本地磁盘 I/O 时 CPU 空闲的时间百分比。wa 的值如果超过 25%,就表明磁盘子系统可能没有被正确平衡,或者这也可能是磁盘工作负荷很重的结果。 如果在一个单用户系统中,us + sy时间不超过 90%,我们就不认为系统的CPU是受限制的。如果在一个多用户系统中,us + sy时间超过 80%, 我们就认为系统的CPU是受限的。其中的进程将要花时间在运行队列中等待。响应时间和吞吐量会受损害。检查cpu,我们主要关注报告中的4个cpu列和2个kthr(内核线程)列。在上面的示例中,我们可以观察到以下几个主要的信息:CPU IDLE比较高,比较空闲;r列为0,表明线程不存在等待;WA值不高,说明I/O压力不大;free值比较大,pi,po为0,表明内存非常富裕。空闲较多。2. svmonsvmon概述 svmon 命令用于显示当前内存状态的信息,可通过 AIX svmon 命令提供了一个更加深入的内存使用情况的分析,比起 vmstat 和 ps 命令,它带有更多的信息量。-i 选项能够间隔性的捕获一个内存状态的快照。svmon 命令可以生成 9 种不同的报告结果,这里我们选用比较有代表性的带 -G 标志来监视内存全局使用情况。具体使用范例 1、全局统计信息 #svmon -G size inuse free pin virtual mmodememory 3932160 2729499 1202661 818627 1616925 Dedpg space 8388608 8595 work pers clnt otherpin 675474 0 2801 140352in use 1616925 0 1112574PageSize PoolSize inuse pgsp pin virtuals 4 KB - 1966891 8595 209571 854317m 64 KB - 47663 0 38066 47663 其中 size 标示了实际内存的页面数 inuse 正在使用中的页面数 free 空闲的页面数 pin 物理内存中固定的页面数 virtual-虚拟内存段 work-工作内存段 pers-固定内存段 other- mapping和real mapping memory PageSize-不同内存页大小的统计情况,s为常规页面,大小为4k,m为大页面大小为64k。 pgsp- 分页空间的使用情况注意,在段的描述中,如果paging space使用的节中如果有一横(),表明该段未使用交换区,work段可能使用交换区,但persistent段和client段不会使用交换区。3. psps命令显示当前运行的进程状态信息。运行下列命令ps gv | head -n 1; ps gv | egrep -v RSS | sort +6b -7 -n -rSIZE 页空间中分配给该进程的Type为work, Description为private的内存段大小(K字节为单位)。该数值也可通过命令svmon显示。RSS 进程当前占用的内存段(物理内存)大小(K字节为单位),包括Type为work和Description 为private的内存段及Type为pers和Description为code的内存段。该数值可通过命令svmon显示。TRS 进程常驻内存的正文段大小,包括Type为pers及Description为code的内存段。该数值可通过命令svmon显示。%MEM RSS占系统物理内存的百分比(%)。如上所述,使用ps命令同样可以查看各进程的内存分配情况。CPU 瓶颈下面我们将就如何使用命令vmstat、tprof和ps检查系统是否存在CPU瓶颈做一个简单介绍。 vmstat使用命令# vmstat 注: 运行队列有进程等待时系统运行速度会降低。id CPU 空闲时间或无I/O等待时间的百分比;wa CPU I/O 等待时间的百分比;r 运行队列中的线程数;如果 id 和wa 的值持续为接近0的值,sample明CPU此时处于繁忙状态。下面来看看字段r(运行队列中的线程数)。运行队列中等待的线程数越多,系统性能受到的影响越大。tproftprof命令用于统计每个进程的CPU使用情况。以超级用户root的身份运行下列命令,可以找出进程占用的CPU时间:# tprof -x sleep 30此命令运行30秒钟,在当前目录下创建一个名为_prof.all 的文件。30秒钟内, CPU被调度次数约为3000次。_prof.all 文件中的字段Total 为此进程调度到的CPU次数。如果进程所对应的 Total字 段的值为1500,sample示该进程在3000次 CPU调度中占用了1500次,或理解为使用了一半的CPU时间。tprof的输出准确地显示出哪个进程在使用CPU 时间。_prof.all文件示例:3. netpmonnetpmon命令用于监控与网络有关的I/0及CPU的使用情况。以root 身份运行下面的命令,可以找出进程使用的CPU时间,以及其中与网络有关的代码使用的CPU时间:# netpmon -o /tmp/netpmon.out -O cpu -v; sleep 30; trcstop此命令运行30 秒钟,并在/tmp目录下生成文件 netpmon.out。其中字段 CPU Time 为进程使用CPU的时间总值,CPU%对应其百分比,Network CPU% 为进程中与网络有关的代码所占用的CPU百分比。如下所示:输入输出(I/O)瓶颈1. iostatiostat命令用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量。运行命令:iostat 5 10将显示10次统计结果,下面为其中一次的数据:其中%iowait 等待本地 I/O 时CPU 空闲时间的百分比%idle 未等待本地 I/O 时CPU 空闲时间的百分比当没有需使用CPU的进程但至少有一个进程在等待I/O 时, CPU时间属性标为iowait。如果iowait 时间的百分比很高,sample示该磁盘输入输出(I/O)是导致系统运行速度缓慢的主要原因。%tm_act 硬盘繁忙的百分比注: tm_act的值很高,sample明硬盘存在I/O瓶颈。当%tm_act(硬盘繁忙时间)很高时,可能会感觉到系统运行速度在减慢。有些系统上某个硬盘的%tm_act值为60%或更高时,系统性能就会受到影响。两点建议:1. 观察繁忙与空闲的硬盘,将数据从忙的盘移至相对空闲的的盘上,这会在一定程度上减轻由此引起的I/O 瓶颈。2. 依照上面内存瓶颈中介绍的方法检查内存换页的频繁程度。大量的换页操作会增加I/O负载。2. filemonfilemon 命令用于查看哪些文件/逻辑卷/硬盘处于繁忙状态。在系统I/O 处于繁忙状态时运行下面的命令:# filemon -u -O all -o /tmp/fmon.out; sleep 30; trcstop30秒钟后会生成记录跟踪信息的文件 /tmp/fmon.out。从该文件中可以找出:1. 最为繁忙的虚拟内存段(segment)、逻辑卷和物理卷;2. 对页空间(paging space)的读写次数,确认硬盘I/O 是由于应用程序操作还是频繁的换页操作;3. 最为活跃的文件或逻辑卷,如果它们存放在繁忙的物理卷上,可以考虑将数据移至相对空闲的硬盘上,这样有助于提高系统性能。最为繁忙的段的报sample里列示出最繁忙的文件所对应的文件系统和i节点。文件系统的安装点(mount point)及文件的i节点(inode)可与命令ncheck一起使用,来找出相对应的文件。这个报sample可用来判断该I/O操作是针对文件系统、JFS Log 还是系统页空间的。通过检查字段reads和read sequences的值,可以判断该操作是顺序读取还是随机读取。当 read sequences接近reads时,对该文件的访问则以随机读取方式居多。(附录A为命令 filemon 的输出 示例)结束语在这里有一个极有用的工具值得给大家一提,就是RS/6000性能诊断工具包-Performance Toolbox,一个用来检测系统性能的功能非常完善的软件包。其中包括基于X-Windows的图形 界面诊断工具 xmperf,用于实时检测系统资源的使用情况。(注:该软件包不在AIX操作系统光盘中提供。)我们在上面的文字中讨论了有关RS/6000系统的资源瓶颈问题,其中涉及到的系统命令的具体用法可以查找AIX联机命令手册。此外,一个系统的性能如何还与网络因素及应用程序有着密切的关系,分析这诸多因素的方法及工具还有很多,在此不做一一介绍了。希望大家在实际工作中逐步摸索,成为RS/6000系统性能分析专家附录A (filemon 输出文件示例)Thu Aug 19 11:30:49 1999System: AIX texmex Node: 4 Machine: 000691854C000.369 secs in measured intervalCpu utilization: 9.0%Most Active Files-#MBs #opns #rds #wrs file volume:inode-0.1 1 14 0 smit.log /dev/hd4:8580.0 1 0 13 null0.0 2 4 0 ksh.cat /dev/hd2:168720.0 1 2 0 cmdtrace.cat /dev/hd2:16739Most Active Segments-#MBs #rpgs #wpgs segid segtype volume:inode-0.1 13 0 5e93 ?0.0 2 0 22ed ?0.0 1 0 5c77 persistentMost Active Logical Volumes-util #rblk #wblk KB/s volume description-0.06 112 0 151.9 /dev/hd4 /0.04 16 0 21.7 /dev/hd2 /usrMost Active Physical Volumes-util #rblk #wblk KB/s volume description-0.10 128 0 173.6 /dev/hdisk0 N/A-Detailed File Stats-file: /smit.log volume: /dev/hd4 (/) inode: 858opens: 1total bytes xfrd: 57344reads: 14 (0 errs)read sizes (bytes): avg 4096.0 min 4096 max 4096 sdev 0.0read times (msec): avg 1.709 min 0.002 max 19.996 sdev 5.092file: /dev/nullopens: 1total bytes xfrd: 50600writes: 13 (0 errs)write sizes (bytes): avg 3892.3 min 1448 max 4096 sdev 705.6write times (msec): avg 0.007 min 0.003 max 0.022 sdev 0.006file: /usr/lib/nls/msg/en_US/ksh.cat volume: /dev/hd2 (/usr) inode: 16872opens: 2total bytes xfrd: 16384reads: 4 (0 errs)read sizes (bytes): avg 4096.0 min 4096 max 4096 sdev 0.0read times (msec): avg 0.042 min 0.015 max 0.070 sdev 0.025lseeks: 10file: /usr/lib/nls/msg/en_US/cmdtrace.cat volume: /dev/hd2 (/usr) inode:16739opens: 1total bytes xfrd: 8192reads: 2 (0 errs)read sizes (bytes): avg 4096.0 min 4096 max 4096 sdev 0.0read times (msec): avg 0.062 min 0.049 max 0.075 sdev 0.013lseeks: 8-Detailed VM Segment Stats (4096 byte pages)-SEGMENT: 5e93 segtype: ?segment flags:reads: 13 (0 errs)read times (msec): avg 1.979 min 0.957 max 5.970 sdev 1.310read sequences: 1read seq. lengths: avg 13.0 min 13 max 13 sdev 0.0SEGMENT: 22ed segtype: ?segment flags: inodereads: 2 (0 errs)read times (msec): avg 8.102 min 7.786 max 8.418 sdev 0.316read sequences: 2read seq. lengths: avg 1.0 min 1 max 1 sdev 0.0SEGMENT: 5c77 segtype: persistentsegment flags: pers deferreads: 1 (0 errs)read times (msec): avg 13.810 min 13.810 max 13.810 sdev 0.000read sequences: 1read seq. lengths: avg 1.0 min 1 max 1 sdev 0.0-Detailed Logical Volume Stats (512 byte blocks)-VOLUME: /dev/hd4 description: /reads: 5 (0 errs)read sizes (blks): avg 22.4 min 8 max 40 sdev 12.8read times (msec): avg 4.847 min 0.938 max 13.792 sdev 4.819read sequences: 3read seq. lengths: avg 37.3 min 8 max 64 sdev 22.9seeks: 3 (60.0%)seek dist (blks): init 6344,avg 40.0 min 8 max 72 sdev 32.0time to next req(msec): avg 70.473 min 0.224 max 331.020 sdev 130.364throughput: 151.9 KB/secutilization: 0.06VOLUME: /dev/hd2 description: /usrreads: 2 (0 errs)read sizes

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论