CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

AIX系统Memory性能评估

作者: Peak Wong,  出处:IT专家网, 责任编辑: 李书琴, 
2008-05-09 10:25
  本文对AIX系统中Memory性能评估作了详细介绍。

  1、VMM的管理简介

  首先,还是简单讲解一下内存以及的VMM的一点工作原理。

  内存和交换空间一般都是用页面来进行分配和管理的。在内存中存在两种类型的页面:计算页面(一般为可执行文件段中的页面)和文件页面(存储的数据文件的页面)。当我们执行程序或者读入数据的时候,内存中的页面就逐渐被占用。当空闲的内存只剩maxfree的时候,vmm的调页就被唤醒,通过调页算法,将内存中的页面转移到交换空间中。一直到空闲内存达到maxfree,才停止调页。

  在这里,我们涉及到两个参数:

  1) Minfree:最小空闲页链表尺寸。一旦低于该值,系统偷页以填充页链表,保证有足够的内存页面。偷页就是将不常用的页面替换出去。

  2) Maxfree:最大空闲页链表尺寸。一旦高于该值,系统停止偷页。

  如果发现空闲列表不足,可以用下面的方法增加minfree参数

#vmo -o minfree=1000 -o maxfree=1008
Setting maxfree to 1008
Setting minfree to 1000

  #vmo –o minfree=1000 –o maxfree=1008 –P # -P参数使修改永久生效

  一般情况下,minfree和maxfree通过下面的公式得到:

  maxfree=minmum(memory/128,128) ,minfree=maxfree-8

  注意:在AIX 5.2之前的版本请使用/usr/samples/kernel/vmtune命令。

  #/usr/samples/kernel/vmtune –f 1000 –F 1008

  另外,关于内存的使用,我们还有两个经常碰到的参数需要关注:

  Minperm:用户I/O文件访问的最小缓冲区页数

  Maxperm:用户I/O文件访问的最大缓冲区页数

  Minperm和maxperm这两个参数的默认值分别为20%和80%。在这里主要与性能相关的是maxperm参数。maxperm参数指定了文件页面可以占用内存的上限,因为文件页面不主动释放,所以很容易造成内存的文件页面过高的占用,导致其他的应用内存使用紧张。调整参数值的方法如下:

#vmo -o maxperm%=80 -o minperm%=20
Setting minperm% to 20
Setting maxperm% to 80

  在AIX 5.2之前的版本请使用/usr/samples/kernel/vmtune命令。

  #/usr/samples/kernel/vmtune -p 20–P 80 将min和max的值分别设置为20%和80%。

  查看当前的参数设置方法如下:

  1)vmo –a 显示当前所有的参数设置

  在AIX 5.2之前的版本请使用 # /usr/samples/kernel/vmtune 显示当前所有的参数设置

   #vmo -a
        cpu_scale_memp = 8
 data_stagger_interval = 161
                 defps = 1
   force_relalias_lite = 0
             framesets = 2
             htabscale = n/a
     kernel_heap_psize = 4096
  large_page_heap_size = 0
          lgpg_regions = 0
             lgpg_size = 0
       low_ps_handling = 1
       lru_file_repage = 1
     lru_poll_interval = 10
             lrubucket = 131072
            maxclient% = 80
               maxfree = 1088
               maxperm = 4587812
              maxperm% = 80
                maxpin = 4881650
               maxpin% = 80
       mbuf_heap_psize = 4096
       memory_affinity = 1
         memory_frames = 6029312
         memplace_data = 2
  memplace_mapped_file = 2
memplace_shm_anonymous = 2
    memplace_shm_named = 2
        memplace_stack = 2
         memplace_text = 2
memplace_unmapped_file = 2
              mempools = 4
               minfree = 960
               minperm = 1146952
              minperm% = 20
             nokilluid = 0
               npskill = 49152
             npsrpgmax = 393216
             npsrpgmin = 294912
           npsscrubmax = 393216
           npsscrubmin = 294912
               npswarn = 196608
      num_spec_dataseg = 0
             numpsblks = 6291456
     page_steal_method = 0
          pagecoloring = n/a
       pinnable_frames = 5601758
 pta_balance_threshold = n/a
   relalias_percentage = 0
              rpgclean = 0
            rpgcontrol = 2
                 scrub = 0
            scrubclean = 0
 soft_min_lgpgs_vmpool = 0
      spec_dataseg_int = 512
      strict_maxclient = 1
        strict_maxperm = 0
              v_pinshm = 0
  vm_modlist_threshold = -1
       vmm_fork_policy = 1
    vmm_mpsize_support = 1

  显示minperm和maxperm和numperm的值。numperm值给出的是内存中文件页数。

  系统调页的规则:

  1) 如果numperm>maxperm,则只调出文件页面。

  2) 如果numperm

  3) 如果minperm

  如果系统在向调页空间调出页面,可能使因为内存中的文件页数低于maxperm,从而也调出了部分的计算页面以达到maxfree的要求。在这种情况下,可以考虑把maxperm降低到低于numperm的某个值,从而阻止计算页面的调出。在5.2 ML4以后的版本中,为了防止计算页面被调出,可以采用另外一个方法,就是设置参数lru_file_repage=0。将该参数设为0,则告诉vmm在进行页面替换的时候,优先替换文件页面。

  maxclient通常应该设置为一个小于或者等于maxperm的值。

  增强JFS文件系统为它的缓冲区高速缓存使用客户机文件,这不受maxperm和minperm的影响。为了在限制增强JFS文件系统使用高速缓存,可以指定maxclient的值,避免在它进行页面替换的时候,替换其他类型的页。

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2007, ChinaByte
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i