AIX的VMO调整.doc_第1页
AIX的VMO调整.doc_第2页
AIX的VMO调整.doc_第3页
AIX的VMO调整.doc_第4页
AIX的VMO调整.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

关于AIX上VMO调整参数及Memory性能评估二、Memory性能评估1、VMM的管理简介首先,还是简单讲解一下内存以及的VMM的一点工作原理。内存和交换空间一般都是用页面来进行分配和管理的。在内存中存在两种类型的页面:计算页面(一般为可执行文件段中的页面)和文件页面(存储的数据文件的页面)。当我们执行程序或者读入数据的时候,内存中的页面就逐渐被占用。当空闲的内存只剩maxfree的时候,vmm的调页就被唤醒,通过调页算法,将内存中的页面转移到交换空间中。一直到空闲内存达到maxfree,才停止调页。在这里,我们涉及到两个参数:1) Minfree:最小空闲页链表尺寸。一旦低于该值,系统偷页以填充页链表,保证有足够的内存页面。偷页就是将不常用的页面替换出去。2) Maxfree:最大空闲页链表尺寸。一旦高于该值,系统停止偷页。 如果发现空闲列表不足,可以用下面的方法增加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,则同时调出文件页面和计算页面。 如果minpermnumpermmaxperm,则只调出文件页面,除非新调入的文件页面大于计算页面的总和。 如果系统在向调页空间调出页面,可能使因为内存中的文件页数低于maxperm,从而也调出了部分的计算页面以达到maxfree的要求。在这种情况下,可以考虑把maxperm降低到低于numperm的某个值,从而阻止计算页面的调出。在5.2 ML4以后的版本中,为了防止计算页面被调出,可以采用另外一个方法,就是设置参数lru_file_repage=0。将该参数设为0,则告诉vmm在进行页面替换的时候,优先替换文件页面。 maxclient通常应该设置为一个小于或者等于maxperm的值。 增强JFS文件系统为它的缓冲区高速缓存使用客户机文件,这不受maxperm和minperm的影响。为了在限制增强JFS文件系统使用高速缓存,可以指定maxclient的值,避免在它进行页面替换的时候,替换其他类型的页。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 pers clnt lpagepin 151904 246 0 0in use 194960 41885 0 0 size inuse free pin virtualmemory 2097136 236853 1860283 152150 194947pg space 1048576 960 work pers clnt lpagepin 151904 246 0 0in use 194964 41889 0 0 memory段 size 物理内存总页数。4KB/页 inuse 物理内存中正在使用的内存页面数。包含活动进程和已经终止的进程的持久文件页面。 free 空闲列表中的页面数量 pin 锁定在内存中的页面数量(锁定的意思就是不能被替换出去) virtual pg space段 size 调页空间总大小 inuse 已经分配页的总数,也就是已经使用的调页空间页数pin段 work 物理内存中的工作页面数 pers 物理内存中的持久页面数 clnt 物理内存中的客户机页面数(客户机页面就是一个远程文件页面)inuse段 work 物理内存中的工作页面数 pers 物理内存中的持久页面数 clnt 物理内存中的客户机页面数(客户机页面就是一个远程文件页面)3、ps命令显示当前运行的进程状态信息。运行下列命令,显示内存占用前10位的进程。# ps gv |sort +6b -nr |head -10 2490538 - A 191:56 0 11840 32748 xx 45762 20924 0.1 0.0 ora_j00 2039970 - A 592:59 11 11728 32648 xx 45762 20924 0.3 0.0 ora_j00 2588922 - A 1118:31 22 11712 32632 xx 45762 20924 0.6 0.0 ora_j0 2523168 - A 305:01 1 11688 32608 xx 45762 20924 0.2 0.0 ora_j00 2474214 - A 0:01 0 11588 32512 xx 45762 20924 0.1 0.0 ora_j00 2007282 - A 0:01 0 10384 31308 xx 45762 20924 0.0 0.0 ora_j00 508120 - A 32:58 662 9344 27164 xx 45762 20924 0.0 0.0 ora_dbw 1351908 - A 0:02 1 5668 26560 xx 45762 20924 0.0 0.0 oracleo 3801250 - A 203:22 0 5648 26556 xx 45762 20924 0.1 0.0 oracleo3915976 - A 0:00 0 5664 26556 xx 45762 20924 0.0 0.0 oracleo 如果是oracle的一些进程占用了过度的内存,我们也可以通过前面类似的进程处理方法来分析。4、内存的调整 具体调整需要结合系统运行的应用程序对症下药,如调整minperm/maxperm将改变内存与PAGING SPACE之间的交换算法,调整minpgahead/maxpgahead将改变内存块请求机制,调整minfree/maxfree将改变内存紧张时的内存清理刷新机制,等等。如果数据库使用裸设备,并且没有太多其他的应用,因为裸设备不需要文件系统的缓存,所以可以降低minperm,maxperm,maxclient的默认值,降低操作系统对内存的不必要的占用。案例:计费数据库数据库响应变慢,内存16G,裸设备,却存在很多的PI,PO情况。在检查与内存相关的系统参数,发现如下问题:minperm% = 20, maxperm% = 80, maxclient% = 80 说明:以上三个参数为系统缺省配置,其表示,使用文件系统时,最多可使用80% * 16G=10.8G,用于缓存所访问的文件。结论:由于以上参数采用系统缺省配置,文件系统缓存最大可以达到10.8G,在执行大量的文件cp操作后,系统的可用内存量迅速下降,在其后的计费过程中,由于大量page in/page out操作引起系统严重性能瓶颈。优化:将maxperm% = 30 ,maxclient% = 30#vmo o maxperm%=30 P#vmo o maxclient%=30 P5.2以前版本/usr/samples/kernel/vmtune p 20 P 30 /usr/samples/kernel/vmtune t 30IBM AIX下的lru_file_repage参数解释 AIX的内核参数的调整对数据库和应用的性能至关重要。一般来说,在部署阶段,我们必须对内核参数做适当的调整,上线以后,也需要对内核的某些参数做出微调。最近,收到一个case,发现errpt里面有大量的”NIM thread blocked”事件,老外抱怨前端应用很慢,通过nmon收集信息,发现有大量的page in/out。ITPUB个人空间(f &o*GB5 _T 经过分析,我发现有一个相当重要的参数,需要我们去关注,那就是lru_file_repage.简单来说,就是如果将这个参数设置为0的时候,AIX会尽可能的keep住计算内存在RAM里面.在AIX6.1里面这个参数默认为0.在启用了STMM的DB2数据库里面,数据库内存的规则也是会尽量不让计算内存交换出去.(V 6BMT0对于这个参数IBM的官方解释如下:ITPUB个人空间 dz/s _TDlo,D,Elru_file_repage when the number of permanent memory pages (numperm) falls between minperm and maxperm (or the number of client memory pages falls between minperm and maxclient), this setting indicates whether repaging rates are considered when deciding to evict permanent memory pages or computational memory pages. Setting this to 0 tells AIX to ignore repaging rates and favor evicting permament memory pages, keeping more computational memory in RAM. The AIX 5L default is 1/true (consider the repaging rate), The AIX 6.1 default is 0/false (now a restricted setting).ITPUB个人空间K8C:D) NG在我们调整完该参数后,再微调了数据库的另外一些参数,数据库性能得到了大幅度的提升,没有再出现”NIM thread blocked”.AIX5.3/6.1里面,内核参数发生了一些变化,除了以上提到的这个参数外,还有其它的内核参数需要我们关注.AIX 分页技术 - minperm、maxperm 和 lru_file_repage 收藏 引言 AIX 虚拟内存管理器 (AIX VMM) 是一种基于分页的虚拟内存管理器。一个分页就是一个固定大小的数据块。分页既可以位于内存中(也就是说,映射到物理内存中的某个位置)、也可以位于磁盘中(也就是说,从物理内存中替换到分页空间或者文件系统)。AIX VMM 有一个非常独特的方面,即缓存的文件数据的管理。AIX VMM 将缓存的文件数据与对其它类型虚拟内存(例如,进程数据、进程堆栈等等)的管理集成到了一起。它将文件数据缓存为分页,就如同进程的虚拟内存一样。AIX 根据需要将分页映射到实际内存。如果应用程序引用了某个分页,而该分页并没有映射到实际内存中,那么系统将产生一个缺页。为了解决缺页,AIX 内核会将所引用的分页加载到实际内存中的某个位置。如果所引用的分页是一个新的分页(也就是说,位于先前从未引用过的进程数据堆中的分页),那么加载 所引用的分页只需要用零来填充一个实际内存位置(也就是说,提供一个填满零的分页)。如果所引用的分页是一个预先存在的分页(也就是说,文件中的某个分页、或者先前换出的某个分页),那么加载所引用的分页需要从磁盘(分页空间或者磁盘文件系统)中将该分页读入到实际内存中的某个位置。在将分页加载到实际内存中之后,它将被标记为未经修改的。如果某个进程或者内核修改了该分页,那么该分页的状态将更改为已修改的。这允许 AIX 跟踪在将某个分页加载到内存之后是否对其进行过修改。随着系统将更多的分页添加到实际内存中,实际内存中空闲位置(可以包含分页)的数目将会减少。也可以将空闲位置的数目称为空闲分页框架的数目。当空闲分页框架的数目达到某个较低的值时,AIX 内核就必须清空实际内存中的某些位置,以便重用新的分页。这个过程也称为分页替换。AIX VMM 提供了一些后台守护进程,专门负责进行分页替换。其中一个分页替换守护进程称为 lrud (显示为 ps -k 的输出中的 lrud )。lrud 守护进程负责在内存分页中进行扫描,并回收某些分页以便为实际内存腾出空间。当分页替换守护进程确定它希望回收某个特定的分页时,这个分页替换守护进程将执行下面两项操作中的一项: 如果该分页经过了修改,那么分页替换守护进程将该分页写入到辅助存储位置(例如,分页空间或者文件系统磁盘)。将包含该分页的物理内存块标记为空闲,并为其它的分页做好重用的准备。 如果该分页没有经过修改,那么分页替换守护进程可以简单地将物理内存块标记为空闲,这样一来,就可以将该物理内存块重用于另一个分页。在这种情况下,分页替换守护进程不需要将该分页写入到磁盘,因为该分页在内存中的版本并没有经过修改,因此与位于磁盘中(在分页空间中、或者在磁盘文件系统中)的分页副本完全相同。 分页替换守护进程可以根据系统内存的使用情况和可调参数,选择不同类型的分页进行回收。本文剩下的部分将详细地介绍分页替换守护进程如何选择要进行回收的分页。分页类型 从本质上看,AIX 中一共有两种分页类型: 工作存储分页(Working storage pages) 永久存储分页(Permanent storage pages) 工作存储 工作存储分页是一些包含易变 数据(换句话说,即重新启动后将不复存在的数据)的分页。在其他的平台中,工作存储内存有时也称为匿名 内存。下面提供了一些由工作存储分页组成的虚拟内存区域的示例:进程数据 堆栈 共享内存 内核数据 当需要将经过修改的工作存储分页替换出(从内存移动到磁盘)时,它们将被写入到分页空间。不会将工作存储分页写入到文件系统。当进程退出时,系统将释放其所有的私有工作存储分页。因此,当进程退出时,系统将释放进程数据和堆栈的工作存储分页。对于共享内存区域,直到删除共享内存区域之后,才会释放其工作存储分页。 永久存储 永久存储分页是一些包含永久数据(也就是说,重新启动后仍然存在的数据)的分页。这种永久数据就是文件数据。因此,永久存储分页就是缓存在内存中的部分文件。当经过修改的永久存储分页需要换出(从内存移动到磁盘)的时候,会将它写入到文件系统中。如前所述,可以直接释放没有经过修改的永久存储分页,无需将其写入到文件系统中,因为文件系统包含该数据的原始副本。例如,如果一个应用程序正在读取某个文件,那么该文件数据将缓存于永久存储分页的内存中。这些永久存储分页没有经过修改,这意味着并没有在内存中对这些分页进行修改。因此,内存中的永久存储分页与磁盘中的文件数据完全相同。当 AIX 需要清空内存的时候,它只需要释放这些分页即可,而不将任何内容写入到磁盘。如果应用程序对某个文件进行写操作(而不是读操作),那么永久存储分页将是经过修改的,并且 AIX 必须在释放这些分页之前将其刷新到磁盘。您可以将永久存储分页划分为两种子类型: 客户端分页 非客户端分页 非客户端分页是一些包含缓存的日志文件系统 (JFS) 文件数据的分页。非客户端分页有时也称为持久性分页。客户端分页是一些包含所有其他文件系统(例如,JFS2 和网络文件系统 (NFS))的缓存数据的分页。 分页分类 为了帮助分页替换守护进程更好地选择用来进行替换的分页,AIX 将分页分为下面两种类型: 计算性分页 非计算性分页 计算性分页是一些用于文本、数据、堆栈和进程的共享内存的分页。非计算性分页是一些包含正在进行读取和写入的文件的文件数据的分页。如何对分页进行分类 所有的工作存储分页都是计算性的。不会将工作存储分页标记为非计算性的。永久存储分页既可以是计算性的、也可以是非计算性的,这取决于您使用这些分页的方式。如果一个文件包含某个进程的可执行文本,那么系统会将该文件视为计算性的,并且将该文件中的所有永久存储分页都标记为计算性的。如果该文件不包含可执行文本,那么系统会将该文件视为非计算性的,并且将该文件中的所有永久存储分页都标记为非计算性的。当您第一次打开一个文件的时候,AIX 内核将创建一个内部 VMM 对象以代表该文件。并且将其标记为非计算性的,这意味着所有的文件在一开始都是非计算性的。随着程序对该文件进行读写操作,AIX 内核将该文件的数据作为非计算性的永久存储分页在内存中进行缓存。如果关闭该文件,那么 AIX 内核将继续在内存中(在永久存储分页中)缓存该文件的数据。内核继续缓存该文件是为了提高性能;例如,如果稍后出现了另一个进程,并且它也使用了相同的文件,那么该文件数据仍然位于内存中,并且 AIX 内核不需要从磁盘读入该文件的数据。如果某个文件因为指令取出发生了缺页,那么会将非计算性文件转换为计算性状态。当对某个文件出现进程缺页(意味着该进程引用了文件的部分内容,而这部分内容当前没有缓存在永久存储分页的内存中)的时候,该进程将产生一个缺页。如果是由于指令取出而导致的缺页(意味着该进程正在尝试加载来自该分页的指令,以便进行相关操作),那么内核会将该文件标记为计算性的。这涉及到将该文件中的所有分页都标记为计算性的。一个文件要么完全是计算性的,要么完全是非计算性的。在将文件标记为计算性文件之后,它将一直保持为计算性文件,直到删除该文件(或者重新启动系统)。因此,即使移动了该文件、或者对它进行了重命名,该文件仍然标记为计算性的文件。 分页替换 AIX 分页替换守护进程一次扫描内存的一个分页,找出要回收的分页以释放内存。分页替换守护进程必须仔细地选择分页,以便将分页对系统的性能影响降到最低,并且分页替换守护进程将根据可调参数设置和系统情况来选择不同类型的分页。您可以使用大量的可调参数来控制 AIX 选择分页进行替换的方式。 minperm 和 maxperm minperm 和 maxperm 是两个最基本的分页替换可调参数。这两个可调参数用于指出 AIX 内核应该使用多少内存来缓存非计算性的分页。maxperm 可调参数指出应该用于缓存非计算性分页的最大内存量。在缺省情况下,maxperm 是一个非严格的限制,这意味着在某些情况下可以超出这个限制。将 maxperm 设定为非严格的限制,这允许在具有可用空闲内存的时候,可以在内存中缓存更多的非计算性文件。通过将 strict_maxperm 可调参数设置为 1,就可以使 maxperm 限制成为严格的限制。当 maxperm 是严格限制的时候,即使有可供使用的空闲内存,内核也不允许非计算性分页的数目超出 maxperm 的限制。因此,将 maxperm 作为严格限制的缺点是,非计算性分页的数目不能超出 maxperm 的限制,并且在系统中具有空闲内存的时候,也不能使用更多的内存。minperm 限制指出应该用于非计算性分页的最低内存量。非计算性分页的数目称为 numperm :vmstat -v 命令可以显示系统的 numperm 值所占系统实际内存的百分比。下面的图 1 给出了有关这些可调参数在不同的系统条件下如何进行工作的概况: 图 1. minperm 和 maxperm 限制 当非计算性分页的数目(numperm )大于或者等于 maxperm 的时候,AIX 分页替换守护进程严格地选择非计算性分页(例如,缓存的非可执行文件)进行操作。当非计算性分页的数目(numperm )小于或者等于 minperm 的时候,AIX 分页替换守护进程将选择计算性分页和非计算性分页进行操作。在这种情况下,AIX 将扫描两类分页,并且回收近来较少使用的分页。当非计算性分页的数目(numperm )在 minperm 和 maxperm 之间的时候,lru_file_repage 可调参数将控制 AIX 分页替换守护进程替换的分页类型(请参见图 2 )。lru_file_repage 图 2. lru_file_repage 可调参数 当 numperm 在 minperm 和 maxperm 之间的时候,如果 lru_file_repage 可调参数设置为 1,那么 AIX 分页替换守护进程将根据其内部重新分页表来确定选择何种类型的分页进行操作。AIX 内核维护了一个重新分页表,以便确定哪些分页在换出后将很快地换入。当内核将一个分页换出、然后再将其换入的时候,通常表示这个分页经常会被使用,并且该分页应该保留在内存中。内核记录了对计算性分页重新分页的次数,以及对非计算性分页重新分页的次数。然后,AIX 内核可以使用这个信息来确定哪一类分页的重新分页工作更加频繁(因而,表示这一类分页正在频繁地使用)。当 lru_file_repage 可调参数设置为 1 时,AIX 内核使用这个重新分页信息来确定是否仅选择非计算性的分页进行操作、或者选择计算性的和非计算性的分页进行操作。如果计算性分页的重新分页速度比非计算性分页的重新分页速度高,那么 AIX 内核将仅选择非计算性的分页进行操作(因为计算性分页的使用更为频繁)。如果非计算性分页的重新分页速度比计算性分页的重新分页速度高,那么 AIX 内核将选择计算性的分页和非计算性的分页进行操作。在大多数的客户环境中,最理想的方式是始终让内核只选择非计算性的分页进行操作,因为与对非计算性的分页(即数据文件缓存)进行分页相比,对计算性的分页(例如,进程的堆栈、数据等等)进行分页通常会对进程产生更大的性能开销。因此,可以将 lru_file_repage 可调参数设置为 0。在这种情况下,当 numperm 在 minperm 和 maxperm 之间的时候,AIX 内核始终选择非计算性的分页进行操作。 maxclient 除了 minperm 和 maxperm 可调参数之外,还有一个 maxclient 可调参数。maxclient 可调参数指定应该用于缓存非计算性客户端分页的最大内存量的限制。因为所有非计算性客户端分页是非计算性永久存储分页总数的子集,所以 maxclient 限制必须始终小于或者等于 maxperm 限制。非计算性客户端分页的数目称为 numclient 。vmstat -v 命令可以显示系统的 numclient 值占系统实际内存的百分比。在缺省情况下,maxclient 限制是严格的限制。这意味着,AIX 内核不允许非计算性的客户端文件缓存超出 maxclient 限制的范围(也就是说,AIX 内核不允许 numclient 超出 maxclient )。当 numclient 达到 maxclient 限制时,AIX 内核将采用特殊的、仅客户端的模式开始分页替换。在这种仅客户端的模式中,AIX 分页替换守护进程将严格地选择客户端分页进行操作。 监视系统的内存使用情况 AIX 提供了几种工具,可用于提供系统中不同分页的计数信息。vmstat 命令 vmstat 命令可以报告关于系统的内存使用信息,以及诸如分页替换这样的 VMM 操作的统计信息。使用带 -v 选项的 vmstat 命令可以显示不同分页类型所使用的实际内存百分比(请参见清单 1 ): 清单 1. vmstat -v 命令 # vmstat -v 4980736 memory pages 739175 lruable pages 432957 free pages 1 memory pools 84650 pinned pages 80.0 maxpin percentage 20.0 minperm percentage - systems minperm% setting 80.0 maxperm percentage - systems maxperm%setting 2.2 numperm percentage % of memory containingnon-comp. pages 16529 file pages - # of non-comp. pages 0.0 compressed percentage 0 compressed pages 2.2 numclient percentage - % of memory containingnon-comp. client pages 80.0 maxclient percentage - systems maxclient%setting 16503 client pages - # of client pages 0 remote pageouts scheduled 0 pending disk I/Os blocked with no pbuf 0 paging space I/Os blocked with no psbuf 2484 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 0 Virtualized Partition Memory Page Faults 0.00 Time resolving virtualized partition memory page faults 因此,在上面的示例中,一共有 16529 个非计算性的文件分页被映射到了内存中。这些非计算性的分页使用了 2.2% 的内存。在这 16529 个非计算性的文件分页中,有 16503 个是客户端分页。vmstat 输出没有提供关于计算性文件分页的信息。关于计算性文件分页的信息,可以使用 svmon 命令搜集得到。 svmon 命令 还有另一个命令可用于显示关于系统内存使用的信息,即 svmon 命令。svmon 命令支持大量不同的选项,这些选项用于提供有关系统内存使用的详细信息。svmon 命令的 -G 选项可以显示不同类型分页所使用的内存量的信息(请参见清单 2 ): 清单 2. svmon 命令的 -G 选项 # svmon -G size inuse free pin virtualmemory 786432 209710 576722 133537 188426pg space 131072 1121 work pers clntpin 133537 0 0in use 188426 0 21284PageSize PoolSize inuse pgsp pin virtuals 4 KB - 103966 1121 68929 82682m 64 KB - 6609 0 4038 6609 要了解系统实际内存的使用情况,svmon 显示了下面三列: work -工作存储 pers -持久性存储(持久性存储分页都是非客户端分页,即 JFS 分页。) clnt -客户端存储 对于每种分页类型,svmon 将显示下面两行: inuse -映射到内存中的 4K 分页的数目 pin -映射到内存中的、且固定的 4K 分页的数目(pin 是 inuse 的子集) 因此,在上面的示例中,一共有 188426 个工作存储分页映射到内存中。在这 188426 个工作存储分页中,有 133537 个是固定的(也就是说,不能换出的)。示例中显示没有持久的存储分页(因为系统中没有使用 JFS 文件系统)。一共有 21284 个客户端存储分页,它们中没有一个是固定的。 svmon 命令没有显示永久存储分页的数目,但这个数目可以由 svmon 的输出计算得到。如前所述,永久存储分页的数目是持久性存储分页数目和客户端存储分页数目的总和。因此,在上面的示例中,系统中一共有 21284 个永久存储分页: 0 persistent storage pages + 21284 client storage pages = 21284 permanent storage pages svmon 所报告的信息类型与 vmstat 有一点不同。svmon 报告不同类型内存分页的数目信息,包括工作的、持久的(即非客户端的)和客户端的。svmon 并没有提供计算性分页和非计算性分页的对比信息。svmon 只报告每种分页类型在内存中分页的总数。 与此相反,vmstat 可以提供非计算性分页和计算性分页的对比信息。 为了说明这个区别,可以考虑上面的 svmon 输出示例。这 21284 个客户端分页中的某些分页将是计算性的,而这 21284 个客户端分页中剩下的那些分页将是非计算性的。要确定这些客户端分页在计算性和非计算性之间的划分,可以使用 vmstat 命令来确定这 21284 个客户端分页中有多少分页是非计算性的。显示并且设置可调参数 vmo 命令用于与 VMM 可调参数进行交互。vmo 命令可以用于显示关于可调参数的信息,以及设置可

温馨提示

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

评论

0/150

提交评论