返回列表 发帖

AIX 一些监视系统命令

清单 2. 每个活动进程的内存使用情况
# ps gv | head -n 1; ps gv | egrep -v "RSS" | sort +6b -7 -n -r
  PID    TTY STAT  TIME PGIN  SIZE   RSS   LIM  TSIZ   TRS %CPU %MEM COMMAND
15256      - A    64:15  755  2572  2888    xx  2356   316  0.9  0.0 /usr/lpp/
22752      - A     0:08  261  1960  1980 32768   465    20  0.0  0.0 dtwm
14654      - A     0:00  324  1932  1932    xx   198     0  0.0  0.0 /usr/sbin
20700      - A     0:07  271  1868  1896 32768    95    28  0.0  0.0 /usr/dt/b
20444      - A     0:03  203  1736  1824 32768   551    88  0.0  0.0 dtfile
17602      - A     0:00  274   948  1644 32768   817   696  0.0  0.0 sendmail:
13218      - A     0:00   74  1620  1620    xx   116     0  0.0  0.0 /usr/sbin
?        RSS——每个进程的文本和数据段的 RAM 使用量。PID 为 15256 的进程使用了 2888k。
?        %MEM——RSS / Total RAM 的实际用量。监视 %MEM 使用达到百分之四十到七十的进程。
?        TRS——文本段的 RAM 使用量,单位为 KB。
?        SIZE——为这个进程(文本和数据)分配的分页空间的实际大小。
               
# vmstat 1 4

System Configuration: lcpu=4 mem=4096MB
kthr     memory             page              faults        cpu
----- ----------- ------------------------ ------------ -----------
r  b   avm   fre  re   pi  po  fr   sr    cy  in   sy  cs  us sy id wa
1  2 136583  127    0   4   57  44   92    0 345 2223 605  30 40 29 1
2  7 136587  118    0   2  230   0   245   0 329 3451 526  20 37 10 33
1  6 136587  157    0   3   67   0   678   0 334 3304 536  25 32 20 23
3  8 136587  111    0   5   61   0   693   0 329 3341 511  19 26 35 20
内存数据:
?        avm——您所使用的活动虚拟内存量(单位为 4k 大小的页面),不包括文件页面。
?        fre——内存空闲列表的大小。在大多数情况下,我并不担心这个值什么时候变得很小,因为 AIX 总是会充分地使用内存,并且不会像您希望的那样尽早地释放内存。这个设置由 vmo 命令的 minfree 参数来确定。归根结底,分页的信息更加重要。
?        pi——从分页空间调入的页面。
?        po——调出到分页空间的页面。
CPU 和 I/O:
?        r——在您指定的时间间隔内,可运行内核线程的平均数量。
?        b——在您指定的时间间隔内,位于虚拟内存等待队列中的内核线程的平均数量。如果 r 不大于 b,通常是 CPU 问题的症状,这可能是由于 I/O 或者内存瓶颈造成的。
?        us——用户时间。
?        sy——系统时间。
?        id——空闲时间。
?        wa——等待 I/O。
如果您的 us 和 sys 条目都平均高于 80%,很可能遇到了 CPU 瓶颈。如果上升到了 100%,您的系统就真的太繁忙。如果这些数字很小,但 wa(等待 I/O)很高(通常大于 30),这意味着系统上存在 I/O 问题,从而导致 CPU 不能到达其最佳工作状态。如果 sy 时间 比 us 时间 长,这意味着您的系统处理数字的时间比实际处理内核数据的时间短。这也不好。

sar -r 1 5
System Configuration: lcpu=4 mem=4096MB

06:18:05   slots  cycle/s  fault/s  odio/s
06:18:06 1048052    0.00    387.25   0.00
06:18:07 1048052    0.00    112.97   0.00
06:18:08 1048052    0.00    45.00   79.21
06:18:09 1048052    0.00    216.00    0.00
06:18:10 1048052    0.00    8.00      0.00

Average  1048052        0      79      16
?        cycle/s——报告每秒的页面置换周期数。
?        fault/s——提供每秒的缺页次数。
?        Slots——提供分页空间中空闲页面的数目。
?        odio/s——提供每秒的非分页磁盘 I/O 次数。
在这个示例中,您可以看到每秒钟有许多次的缺页,但是其他的值并不大。您还可以看到,分页空间中有 1048052 个 4k 的页面可用,总计约 4GB。下面,让我们再来深入地研究特定 AIX 工具的使用。
svmon 是一种分析实用工具。它专门针对于 VMM。它可以提供许多信息,包括所使用的实际、虚拟和分页空间内存。-G 标志可以为主机中的内存使用情况提供全局的视图(请参见清单 5)。

清单 5. 使用带 -G 标志的 svmon
               
# svmon -G
               size      inuse       free        pin    virtual
memory      1048576    1048416        160      79327     137750
pg space    1048576        524

               work       pers       clnt      lpage
pin           79327          0          0          0
in use       137764     910652          0          0
其中的 size 列报告了 RAM 的大小,单位是大小为 4k 的页面。其中的 inuse 列报告了进程所使用的 RAM 中的页面数,加上属于一个已终止的进程但仍位于 RAM 中的持久页面的数目。其中的 free 列报告了空闲列表中页面的数目。其中的 pin 列报告了物理内存 (RAM) 中固定的页面数。固定的页面不能被调出。
paging space 列报告了分页空间的实际使用情况(单位是大小为 4k 的页面)。重要的是,应该清楚这个结果与 vmstat 所报告的结果之间的区别。vmstat 中的 avm 列显示了访问的所有虚拟内存,即使它没有被调出。我还习惯查看工作和持久页面的数目。这些参数显示了 RAM 中工作和持久页面的数目。这个内容为什么非常重要呢?也许您还记得第 1 部分中的内容,我曾介绍了工作和持久存储之间的区别。当您的进程对计算信息进行处理时,将使用到计算内存。它们使用工作段,而这些工作段是临时的(暂时的),并且当进程终止或者页面被替换时,这些工作段将不复存在。文件内存使用持久段,并在磁盘上具有持久的存储位置。数据文件或者可执行程序通常都映射为持久段,而不是工作段。在可以选择的情况下,您更希望将文件内存调出到磁盘,而不是计算内存。在这种情况下,与文件内存相比,计算内存更有可能被调出。也许,对 vmo 参数稍作优化就可以极大提高系统的性能。svmon 的另一个有价值的特性是,您可以显示给定进程的内存统计信息。清单 6 提供了一个示例。
使用 svmon 显示给定进程的内存统计信息
               
# svmon -P | grep -p 15256
-------------------------------------------------------------------------------
     Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd LPage
   15256 X                12102     3221        0    12022      N     N     N

从这个示例中,您可以确定该进程并没有使用分页空间。使用前面介绍过的 ps 命令,再加上 svmon,您就可以找出大量消耗内存资源的位置。
AIX 性能调优-内存、CPU篇

文章出处:chinaunix 作者: 发布时间:2006-01-09

AIX 性能调优-内存、CPU篇
sar -P ALL   cpu使用情况

sar -a 文件访问情况
dirblk/s  定位文件时被目录访问守护进程读取的快(512b)的个数
iget/s    i节点查找系统进程被调用次数
lookuppn/s 目录查找进程找到v节点,并获取路径名的次数

sar -b  buffer的活动情况,包括传输、访问、和命中率
bread/s、bwrit/s 块IO操作的数量
lread/s、lwrit/s 逻辑 IO请求的个数
pread/s、pwrit/s 裸设备IO操作数量
%rcache、%rwrit cache命中率,计算共式为:((lreads-breads)/lreads)*100


sar -c 系统调用情况
exec/s、fork/s  调用和执行系统调用总数
sread/s、swrit/s read/writ 系统调用次数
rchar/s、wchar/s 被read/writ系统调用的字符数量
scall/s  系统调用总数


sar -k 内核进程活动情况
kexit/s 中断的内核进程数
kproc-ov/s 由于进程数的限制无法创建内核进程的次数
ksched/s 被作业分派的内核进程数


sar -m 消息队列和信号灯活动情况
msg/s  IPC消息队列活动情况
sema/s 信号灯活动情况


sar -d 磁盘读写情况

sar -q 队列统计信息
run-sz 内核线程处于运行队列的平均数
%runocc 最近时间段运行队列占用百分比
swpq-sz 内核线程等待 页面调度的平均数
%swpocc 交换队列最近活动情况


sar -r 页面调度信息
cycle/s 每秒中页面置换次数
fault/s 每秒中page fault次数
slots   在页空间中空闲页数量
odio/s 每秒中不使用页面空间的磁盘io数


sar -v 进程、内核线程、i节点、和文件表 的状态

sar-w 上下文切换次数

sar -y tty设备活动情况
canch/s  tty输入队列中规范的字符数
mdmin/s  tty modem 中断
outch/s  输出队列字符数
rawch/s  输入队列字符数
revin/s  tty接收中断
xmtin/s  tty传输中断


如果CPU的使用率接近100%(usr+system),可以视为是CPU瓶颈。而如果相当大的时间都花费在IO等待上,那就意味着cpu执行受到了磁盘IO的限制,
而IO瓶颈可能来自于文件访问或者没有足够的内存来分配页面。
注意:系统花费在等待远程文件访问的时间不会记入io 等待时间,如果CPU和IO等待的时间都相当的低,但是响应时间又不是很满意,那应该确认系统
花费多少时间在等待远程io,一直一来aix下没有命令对远程io进行分析,只能通过跟踪数据来观察。


vmstat


vmstat命令报告内核线程,虚拟内存、磁盘、陷阱、和CPU活动情况。
Kthr  线程活动情况
r 运行队列
b 等待队列

memory 虚拟和实际内存使用情况
avm  活动的虚拟页面
fre  空闲的页面,当系统内存大于64MB时,最小值MINFREE为120frames,当内存小于64MB时,最小值为内存以MB计的两倍
     MINFREE和MAXFREE值可以通过vmtune命令来查看

page  page fault和page活动情况,当在内存里分配一个页面时(非NFS或者永久文件页面),其被视为工作页面,工作页面通常包括应用堆栈、
      数据和其他的共享内存段。因此当一个程序栈或者数据区域需要增长时,内存会被被访问,vvm会从ram和页面空间所在设备分配空间。这就意味着
      在内存耗尽之前,页面空间会被使用。
re    页面输入输出列表,每秒中内存回收数量,当页面处于空闲列表且没有被再利用,它就会被回收应为没有新的IO会初始化它,也包括那些没有完成的IO操作但又被VMM使用
      预先读取算法调入内存的页面。
pi    从页面空间page in的页面
po    从页面空间page out的页面

fr    页面空闲(页面重置)
sr    页面被页面调度算法扫描次数
cy    页面调度算法进行调度的时钟周期


faults  陷阱和系统中断率
in    设备中断
sy    系统调用
cs    内核线程上下文切换

CPU  cpu使用情况
usr  用户进程
sys  系统进程
id   cpu空闲时间
wa   等待磁盘IO时间


准则:
r<5,b≈0,
如果fre<MINFREE,将会出现连续不断的页面调度,将导致系统性能问题。
对于page列,re,pi,po,cy维持于比较稳定的状态,PI率不超过5,如果有pagin发生,那么关联页面必须先进行pageout
在内存相对紧张的环境下pagein会强制对不同的页面进行steal操作。如果系统正在读一个大批的永久页面,你也许可以看到po和pi列
会出现不一致的增长,这种情景并不一定表明系统负载过重,但是有必要对应用程序的数据访问模式进行见检查。在稳定的情况下,扫描率和重置率几乎相等,在
多个进程处理使用不同的页面的情况下,页面会更加不稳定和杂乱,这时扫描率可能会比重置率高出。

faults列,in,sy,cs会不断跳跃,这里没有明确的限制,唯一的就是这些值最少大于100

cpu列,us,sys,id和wa也是不确定的,最理想的状态是使cpu处于100%工作状态,单这只适合单用户的情况下。
如果在多用户环境中us+sys》80,进程就会在运行队列中花费等待时间,响应时间和吞吐量就会下降。wa>40表明磁盘io没有也许存在不合理的平衡,或者对磁盘操作比较频繁,

还是楼主好啊

还是楼主好啊,直接公开内容,不需要积分来下载。
谢谢啦!!

TOP

返回列表