资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
Memory性能评估1、VMM的管理简介首先,还是简单讲解一下内存以及的VMM的一点工作原理。内存和交换空间一般都是用页面来进行分配和管理的。在内存中存在两种类型的页面:计算页面(一般为可执行文件段中的页面)和文件页面(存储的数据文件的页面)。当我们执行程序或者读入数据的时候,内存中的页面就逐渐被占用。当空闲的内存只剩maxfree的时候,vmm的调页就被唤醒,通过调页算法,将内存中的页面转移到交换空间中。一直到空闲内存达到maxfree,才停止调页。在这里,我们涉及到两个参数:1) Minfree:最小空闲页链表尺寸。一旦低于该值,系统偷页以填充页链表,保证有足够的内存页面。偷页就是将不常用的页面替换出去。2) Maxfree:最大空闲页链表尺寸。一旦高于该值,系统停止偷页。www.ixdba.net 如果发现空闲列表不足,可以用下面的方法增加minfree参数#vmo -o minfree=1000 -o maxfree=1008Setting maxfree to 1008Setting 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%=20Setting minperm% to 20Setting maxperm% to 80在AIX 5.2之前的版本请使用/usr/samples/kernel/vmtune命令。#/usr/samples/kernel/vmtune -p 20P 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 = 2memplace_shm_anonymous = 2 memplace_shm_named = 2 memplace_stack = 2 memplace_text = 2memplace_unmapped_file = 2 mempools = 4IXDBA.NET技术社区 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 = 12)vmstat -v# vmstat -v 6029312 memory pages 5734766 lruable pages 2801540 free pages 4 memory pools 406918 pinned pages 80.0 maxpin percentage 20.0 minperm percentage 80.0 maxperm percentage 2.3 numperm percentageIXDBA.NET社区论坛 135417 file pages 0.0 compressed percentage 0 compressed pages 0.0 numclient percentage 80.0 maxclient percentage 0 client pages 0 remote pageouts scheduled 312417 pending disk I/Os blocked with no pbuf 0 paging space I/Os blocked with no psbuf 2878 filesystem I/Os blocked with no fsbuf 0 client filesystem I/Os blocked with no fsbuf 0 external pager filesystem I/Os blocked with no fsbuf显示minperm和maxperm和numperm的值。numperm值给出的是内存中文件页数。系统调页的规则:1) 如果numpermmaxperm,则只调出文件页面。2) 如果numpermminperm,则同时调出文件页面和计算页面。 3) 如果minpermnumpermmaxperm,则只调出文件页面,除非新调入的文件页面大于计算页面的总和。 如果系统在向调页空间调出页面,可能使因为内存中的文件页数低于maxperm,从而也调出了部分的计算页面以达到maxfree的要求。在这种情况下,可以考虑把maxperm降低到低于numperm的某个值,从而阻止计算页面的调出。在5.2 ML4以后的版本中,为了防止计算页面被调出,可以采用另外一个方法,就是设置参数lru_file_repage=0。将该参数设为0,则告诉vmm在进行页面替换的时候,优先替换文件页面。 maxclient通常应该设置为一个小于或者等于maxperm的值。 增强JFS文件系统为它的缓冲区高速缓存使用客户机文件,这不受maxperm和minperm的影响。为了在限制增强JFS文件系统使用高速缓存,可以指定maxclient的值,避免在它进行页面替换的时候,替换其他类型的页。IXDBA.NET社区论坛2、使用vmstat确定内存的使用情况 主要检查vmstat输出的 memory和pages列和faults列。详细的说明见前一节cpu评估说明。 3、svmon命令# svmon -G -i 2 2 size inuse free pin virtualmemory 2097136 236845 1860291 152150 194943pg space 1048576 960 work
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号