Chinaunix

标题: 请教为什么系统频繁的有大量pi,po [打印本页]

作者: cghou    时间: 2007-10-09 08:46
标题: 请教为什么系统频繁的有大量pi,po
AIX5.3,内存16G,oracle分配SGA 1G,informix占有内存5G,其他为应用等使用
svmon -G
               size      inuse       free        pin    virtual
memory      4194304    4152896      41408    1002461    4491624
pg space    2097152     818658

               work       pers       clnt
pin         1002199        262          0
in use      3872085      21448     259363
---是不是virtual>size就会这样?系统一开始virtual不大,运行一天后逐步变大,到大于size时候,系统pi,po开始增多,到现在pi,po的值经常达到300多,系统比较慢,请问会是什么原因导致的?

vmstat 3
kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
1  2 4560650  5308   0  66 141 1176 2814   0 1907 15148 11185 23  4 58 16
1  1 4560715  7288   0  30 487 2015 6376   0 2413 12864 11438 15  3 63 18
1  1 4560698  5906   0  68 668 1130 4969   0 2350 18579 12783 18  5 63 14
0  1 4560669  5289   0  51 545 936 2940   0 1627 14660 8618  7  4 72 17
0  1 4560698  5190   0  42 529 1464 3670   0 1219 9218 5209  4  3 75 17
2  1 4561068  5173   0 109 332 885 2123   0 1807 15094 9070 21  5 50 25
1  4 4560793  6880   0  75 499 918 2871   0 1315 13875 6443 17  4 47 32
2  1 4560794  5314   0 108 261 435 1726   0 2361 21440 11555 12  5 67 16
3  3 4560783  5315   0  54 637 766 2412   0 1456 7029 5533  8  4 61 27
2  2 4561664  5246   0  67 479 1209 3827   0 1290 13957 5354 21  4 51 24
2  2 4561692  5113   0  61 458 723 2053   0 1200 54163 7092 28  5 44 22
2  2 4561417  5267   0  53 616 820 2121   0 1580 120336 9219 27  6 46 21
1  3 4561668  5465   0  60 689 947 2213   0 683 84629 6196 30  5 38 28
1  2 4562468  1217   0  21 716 3207 26457   0 994 28390 5884 17  3 57 22
1  5 4562910  3385   0   4 845 201 1926   0 522 9023 4122 12  2 45 40
1  6 4562956  2671   0   5 677 1675 17290   0 638 6940 3701  5  3 38 55
5  8 4564735  3906   0  24 961 1755 11755   0 766 13212 5485 11  3 32 53
1  9 4564763  5166   0  83 586 292 3333   0 808 23965 6047 24  3 17 56

系统的lru_file_repage设置为0
         maxperm%      设置为97
         maxclient%      设置为90
          minperm%       设置为2

系统现在变得很糟糕,忙的时候基本不可使用,系统忙于换进换出,wait长期处于100%,
请大家赐教该如何解决

[ 本帖最后由 cghou 于 2007-10-9 08:48 编辑 ]
作者: doudalun    时间: 2007-10-09 09:11
maxperm%      设置为97
         maxclient%      设置为90
          minperm%       设置为2

这个设置有什么原因吗?
作者: doudalun    时间: 2007-10-09 09:12
贴个topas图吧
作者: cghou    时间: 2007-10-09 09:16
设置是参考这个上说的
http://www.chineselinuxuniversit ... rticles/10719.shtml
作者: cghou    时间: 2007-10-09 09:22
Tue Oct  9 09:25:16 2007   Interval:  2         Cswitch   23406  Readch   498.2K
                                                Syscall   26955  Writech   21698
Kernel   10.3   |####                        |  Reads       259  Rawin         0
User     19.3   |######                      |  Writes      190  Ttyout     1225
Wait     11.1   |####                        |  Forks         2  Igets         0
Idle     59.3   |#################           |  Execs         1  Namei       285
                                                Runqueue    1.0  Dirblk        0
Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  Waitqueue   1.0
lo0     305.4    331.2   331.2   152.7   152.7
en0      21.0      3.5   195.1     0.2    20.7  PAGING           MEMORY
en1      12.2    196.6     1.5    12.0     0.2  Faults     2000  Real,MB   16384
en2       0.3      1.5     1.5     0.2     0.2  Steals        0  % Comp     99.3                                                   
                                                PgspIn      187  % Noncomp   1.3
Disk    Busy%     KBPS     TPS KB-Read KB-Writ  PgspOut       0  % Client    4.7
hdisk1   96.5    766.7   190.6   758.5     8.3  PageIn      187                                                                     
hdisk77  41.0   9283.8   518.8  9283.8     0.0  PageOut       1  PAGING SPACE
hdisk25  36.5   9317.8   497.8  9317.8     0.0  Sios        188  Size,MB    8192
hdisk103 31.5   8753.5   517.8  8753.5     0.0                   % Used     37.6                                                   
hdisk53  28.0   9087.7   524.3  9087.7     0.0  NFS (calls/sec)  % Free     62.3               
hdisk105 27.0   9135.7   535.8  9135.7     0.0  ServerV2       0
hdisk79  27.0   8947.6   504.3  8947.6     0.0  ClientV2       0   Press:
hdisk51  27.0   8885.6   500.3  8885.6     0.0  ServerV3       0   "h" for help
hdisk48  22.0   9363.9   524.8  9363.9     0.0  ClientV3       0   "q" to quit
hdisk27  21.5   8917.6   520.3  8917.6     0.0
hdisk86  20.0    762.5   191.1   762.5     0.0
hdisk100 19.0   9257.8   531.3  9257.8     0.0
hdisk22  18.0   8951.6   510.8  8951.6     0.0
hdisk74  16.0   8691.4   468.8  8691.4     0.0

Name            PID  CPU%  PgSp Owner
oninit      2060420   5.8   0.5 informix
oninit      2793628   5.5   0.5 informix
oninit      2433148   3.9   0.5 informix
oninit      3829868   3.6   0.5 informix
oninit      3231818   2.1   0.5 informix
oninit      1507544   1.3   0.5 informix
oninit      3043354   0.7   0.5 informix
topas       1065158   0.4   7.2 tkgrp
作者: doudalun    时间: 2007-10-09 09:48
vmstat -v看一下
作者: doudalun    时间: 2007-10-09 10:14
读了一下那篇文章,然后又去找了红皮书 《AIX 5.3 performance management》,感觉楼主的maxperm和minperm设的过于极端。从vmstat来看,fr和sr的比例过大,说明替换一个页面产生的代价太大;而从topas看,几乎内存里面全是com的页面,而需要替换的file page,因此会产生大量的search;minperm设置的过小,file page的比例太容易达到或超过,而且刚替换进入内存的file page很快又被page out;。稍微调整一下maxperm和minperm设置看看效果如何
作者: doudalun    时间: 2007-10-09 10:16
红皮书号SC23-4905-03,里面关于vmm管理那段楼主可以看看
作者: cghou    时间: 2007-10-09 10:25
多谢doudalun,这几个参数是什么含义我一直也没有参透,所以一直在试,调小不行,就在调大,呵呵,一直也没有搞定,刚看一网上 性能管理.exe 中所说 “如果 lru_file_repage 参数设置为 0,则在内存中的文件页面数大于 minperm 参数值的情况下只窃取文件页面。”,于是我又修改了相应设置,变得更极端了,minperm只能设置为1了,感觉系统是好多了,但仍不时出现较大pi,po
vmstat -v
              4194304 memory pages
              3892300 lruable pages
                 5258 free pages
                    1 memory pools
              1002400 pinned pages
                 80.0 maxpin percentage
                  1.0 minperm percentage
                 99.0 maxperm percentage
                  1.2 numperm percentage
                49655 file pages
                  0.0 compressed percentage
                    0 compressed pages
                  4.6 numclient percentage
                 90.0 maxclient percentage
               182639 client pages
                    0 remote pageouts scheduled
               950987 pending disk I/Os blocked with no pbuf
             58328676 paging space I/Os blocked with no psbuf
             25509781 filesystem I/Os blocked with no fsbuf
                    0 client filesystem I/Os blocked with no fsbuf
              5327165 external pager filesystem I/Os blocked with no fsbuf
作者: livefordie    时间: 2007-10-09 10:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: cghou    时间: 2007-10-09 15:01
谢谢livefordie。确实vmo不是解决问题的根本,调不对反到更糟糕。
我的oracle是建在文件上的,informix是裸设备。按你所说,对文件缓存一般需要怎么处理?
应用肯定也在优化,是不同的小组,而且反馈说基本没有大问题,上次的topas结果是比较偶然,当时KB_read是比较大,后来观察基本都是100左右,很少上千的,再贴一个
Kernel    3.9   |##                          |  Reads       620  Rawin         0
User     90.1   |##########################  |  Writes      451  Ttyout     1576
Wait      0.4   |#                           |  Forks        11  Igets         0
Idle      5.6   |##                          |  Execs        15  Namei       649
                                                Runqueue    7.5  Dirblk        0
Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  Waitqueue   0.0
lo0     999.5   1675.0  1675.0   499.7   499.7
en0       4.9      8.0    14.0     0.4     4.5  PAGING           MEMORY
en1       2.3     10.5     1.5     2.2     0.2  Faults     2215  Real,MB   16384
en2       0.3      1.5     1.5     0.2     0.2  Steals        0  % Comp     98.5                                                   
                                                PgspIn        7  % Noncomp   1.6
Disk    Busy%     KBPS     TPS KB-Read KB-Writ  PgspOut       0  % Client    7.4
hdisk1    7.0     50.2    13.0    38.2    12.0  PageIn       10                                                                     
hdisk74   6.0     54.0    13.5    52.0     2.0  PageOut      19  PAGING SPACE
hdisk79   4.5     58.0    11.0    56.0     2.0  Sios         29  Size,MB    8192
hdisk86   4.0     52.0     6.5    50.0     2.0                   % Used     45.8                                                   
hdisk77   4.0     66.0    14.5    60.0     6.0  NFS (calls/sec)  % Free     54.1
hdisk103  3.5     86.0    14.5    62.0    24.0  ServerV2       0
hdisk100  3.0     52.0    12.0    48.0     4.0  ClientV2       0   Press:
hdisk25   3.0     52.0    11.0    46.0     6.0  ServerV3       0   "h" for help
hdisk51   3.0     70.0    13.0    68.0     2.0  ClientV3       0   "q" to quit
hdisk8    2.5     70.0     8.0    68.0     2.0
hdisk105  2.0     74.0    15.0    70.0     4.0
hdisk60   2.0     56.0     7.0    56.0     0.0
hdisk0    1.5     12.0     3.0     0.0    12.0
hdisk34   1.0     38.0     5.5    36.0     2.0

Name            PID  CPU%  PgSp Owner
oninit      2793628  13.7   0.5 informix
oninit      3231818  13.7   0.5 informix
oninit      3829868  13.7   0.5 informix
oninit      2060420  13.7   0.5 informix
oninit      1507544  13.7   0.5 informix
oninit      2433148  13.6   0.5 informix
oninit      3043354  13.6   0.5 informix
kuma610     2850864   2.2  31.3 root
topas       1486856   0.4   7.3 root  

不知道svmon中virtual 大于size 是不是应用的内存分配得超过了系统实际内存?所以导致了系统频繁换页?
作者: livefordie    时间: 2007-10-09 15:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: rain4321    时间: 2007-10-09 16:05
原帖由 doudalun 于 2007-10-9 10:14 发表
读了一下那篇文章,然后又去找了红皮书 《AIX 5.3 performance management》,感觉楼主的maxperm和minperm设的过于极端。从vmstat来看,fr和sr的比例过大,说明替换一个页面产生的代价太大;而从topas看,几乎内 ...



我的感觉与此相似,从我平时维护的经验看,可以设置如下参数试试:
1、lru_file_repage=1
     maxperm=90
     minperm=5

2、lru_file_repage=0
     maxperm=60
     minperm=30

建议如上,再观察结果如何?
作者: cghou    时间: 2007-10-11 09:28
标题: 在此谢谢各位网友!
谢谢rain4321,按你所说结果并不理想。
后来看了一网上文章http://blog.vsharing.com/Article.aspx?aid=560447
参考他的vmo设置,我机器的topas显示% Client 为7点几,vmstat -v 显示numperm percentage为1点几,所以我把minperm%=1,maxclient%=6,maxperm%=6,系统明显好转,pi,po多数时间持续为0,系统比较稳定了。具体原因我不清楚,可能是压缩文件缓存的使用导致的吧。但明显感觉系统仍需在应用等各方面进一步调整,但毕竟解了燃眉之急。在此谢谢各位网友!
作者: doudalun    时间: 2007-10-11 09:36
不知道楼主有没有按照老的设置试过
lru_file_repage=1,
maxperm=20
minperm=10
作者: cghou    时间: 2007-10-12 14:49
谢谢doudalun, 你说的这个今天我也试了一下,在cpu使用低于40%时候,基本可以,但当cpu使用超过70%就不稳定了,pi,po变大,值在300左右,持续数分钟,wait100%,无法忍受。改回后在cpu繁忙时候虽也会有大的pi,po,但值一般小于10,通常不超过100,wait在20%左右,且最长持续不会超过20秒,还算可以忍受。当然也不理想,还得找根本原因。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2