AIX+性能调优.docx

上传人:b****2 文档编号:18058960 上传时间:2023-08-07 格式:DOCX 页数:36 大小:76.47KB
下载 相关 举报
AIX+性能调优.docx_第1页
第1页 / 共36页
AIX+性能调优.docx_第2页
第2页 / 共36页
AIX+性能调优.docx_第3页
第3页 / 共36页
AIX+性能调优.docx_第4页
第4页 / 共36页
AIX+性能调优.docx_第5页
第5页 / 共36页
AIX+性能调优.docx_第6页
第6页 / 共36页
AIX+性能调优.docx_第7页
第7页 / 共36页
AIX+性能调优.docx_第8页
第8页 / 共36页
AIX+性能调优.docx_第9页
第9页 / 共36页
AIX+性能调优.docx_第10页
第10页 / 共36页
AIX+性能调优.docx_第11页
第11页 / 共36页
AIX+性能调优.docx_第12页
第12页 / 共36页
AIX+性能调优.docx_第13页
第13页 / 共36页
AIX+性能调优.docx_第14页
第14页 / 共36页
AIX+性能调优.docx_第15页
第15页 / 共36页
AIX+性能调优.docx_第16页
第16页 / 共36页
AIX+性能调优.docx_第17页
第17页 / 共36页
AIX+性能调优.docx_第18页
第18页 / 共36页
AIX+性能调优.docx_第19页
第19页 / 共36页
AIX+性能调优.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

AIX+性能调优.docx

《AIX+性能调优.docx》由会员分享,可在线阅读,更多相关《AIX+性能调优.docx(36页珍藏版)》请在冰点文库上搜索。

AIX+性能调优.docx

AIX+性能调优

AIX性能调优内存篇之一概念

序号

版本号

更改人

日期

备注

1

1.0版

bldmickey

2007-06-16

 

 

 

 

 

 

本章介绍和AIX内存相关的一些基本概念.

物理内存

     物理存在的内存,查看命令:

#prtconf|grepMemory

MemorySize:

15936MB

GoodMemorySize:

15936MB

 

物理内存的分类

(1)persistent(长久型)和work(工作型)内存

      Persistent型是指读入到内存的内容本身在文件系统是存在的,例如包含数据的文件,可执行文件;工作型是指进程中的Stack,变量,共享内存段等(workingsegments,asarethekerneltextsegment,thekernel-extensiontextsegments,aswellastheshared-librarytextanddatasegments.),是进程中途产生的。

Persistent型内存被pageout的时候回写到文件系统中,work型内存被pageout的时候回写到pagingspace中.

     通过svmon可以看到这两种内存的类型.

#svmon-G

              size     inuse      free       pin   virtual

memory     4079616   3477314    602302    535874    894316

pgspace   7995392      2915

              work      pers      clnt

pin         535874         0         0

inuse      894316         0   2582998

 

(2)Computational(计算型)和File(文件型)

      Computational型内存包含working-storagesegmentsorprogramtext(executablefiles)segments.也就是包括work(工作型)再加上persistent(长久型)中的可执行文件的部分.File(文件型)是除去计算型的所有内存.Computational型可以理解为读入可执行文件的地方,文件型可以理解为读入文件中的data部分.

     可以通过topas看到这两种内存的类型.

MEMORY

Real,MB  15936

%Comp    22.8

%Noncomp 63.3

%Client  63.8

 (3)Client类型

     Persistent类型的内存进一步被分类,其中client类型的内存被用于mapremotefiles(例如通过NFS访问的文件).EnhancedJFSfilesystem使用clientspage来缓存cache,所以在上面的svmon的结果中看到实际没有persistent的值,而都是clnt的值,因为用的都是EnhancedJFS文件系统.

              work      pers      clnt

pin         535874         0         0

inuse      894316         0   2582998

 

虚拟内存

     虚拟内存是物理内存和PagingSpace组合形成的虚拟内存空间,通过虚拟的地址空间映射到物理内存或者PagingSpace.

 

Pagingspace

     Pagingspace是系统的一个物理存储空间,占用一定的磁盘空间,可以是logicalvolume或者文件的形式.AIX内核需要利用PagingSpace来管理虚拟内存。

和内存页面一样,AIX的PagingSpace也是以4KB为单位,当实际内存数的空闲值低于一定数量以后,系统需要把实际内存中的某些计算页面(ComputationPage)写回到PagingSpace中(pageout),以便释放出实际内存页面用于其他程序。

查看当前pagingspace的命令:

#lsps-a

PageSpace     PhysicalVolume  VolumeGroup   Size%UsedActive Auto Type

hd6            hdisk1           rootvg      31232MB    1  yes  yes   lv

 

PageFault

     Iftheaccessisgoingtoapageofvirtualmemorythatisstoredovertodisk,orhasnotbeenbroughtinyet,apagefaultoccurs,andtheexecutionoftheprogramissuspendeduntilthepagehasbeenreadfromdisk.查看pagefault的命令:

#sar-r5

Systemconfiguration:

lcpu=8mem=15936MB

10:

28:

12  slotscycle/sfault/s odio/s

10:

28:

177992467   0.00   3.39   0.20

 

pi(PageIn)

     Thenumberofpagespagedinfrompagingspace.从pagingspacepage到内存中的page数目,这些页必定以前被pageout到pagespace中的.通过vmstat查看

#vmstat   

Systemconfiguration:

lcpu=8mem=15936MB

kthr   memory             page             faults       cpu   

---------------------------------------------------------------

 r b  avm  fre re pi po fr  sr cy in  sy csussyidwa

 1 1894750601858  0  0  0  2   3  0 15 861286 0 099 1

 

po(PageOut)

     Thenumber(rate)ofpagespagedouttopagingspace.如果持续看到po但是没有看到pi的增长,并不一定代表出现了Thrashing,比如系统正在读取大量的persistentpages会导致看到大量的pageout,这时候需要查看一下应用的类型.被pageout出去的数据,如果有进程需要再次reference的时候,将产生pagefault,然后通过pagein再次写入到内存.通过vmstat查看

 

Thrashing

     表示系统连续地pagingin和out,经常是系统缺乏内存的现象.

 

Repage

     Pagefault可以是一个新的pagefault,也可以是一个repagefault. Anewpagefaultoccurswhenthereisnorecordofthepagehavingbeenreferencedrecently.Arepagefaultoccurswhenapagethatisknowntohavebeenreferencedrecentlyisreferencedagain,andisnotfoundinmemorybecausethepagehasbeenreplaced(andperhapswrittentodisk)sinceitwaslastaccessed.发生一次pagefault是正常机制,但应该避免发生多次的pagefault,AIX在这里是做了一种统计,分别统计计算型和非计算型内存发生repage的count,我们可以用vmtune去调整这两种内存的page的机制(vmtune-p-P).

AIX性能调优内存篇之二PagingSpace

序号

版本号

更改人

日期

备注

1

1.0版

bldmickey

2007-06-17

 

 

 

 

 

 

本章介绍和AIXPagingSpace相关的知识

部分内容来源:

 

PagingSpace的管理机制

在AIX4.3.2及以后版本中,操作系统提供了3种PagingSpace的管理机制:

∙DeferredPageSpaceAllocation(DPSA)

∙LatePageSpaceAllocation(LPSA)

∙EarlyPageSpaceAllocation(EPSA)

 

(1)DeferredPageSpaceAllocation(DPSA)

     在AIX4.3.2之后,DPSA是系统默认的PagingSpace的管理机制。

在这种机制下,系统不会为进程保留任何的page页面,直到系统确认确实需要将内存中的页面pageout到PagingSpace中,才会把PagingSpace的页面分配给该进程。

     DPSA是AIX4.3.2及以后版本中所使用的默认机制,它通常适用于配有很大容量RAM的系统,因为它可以减少很多PagingSpace资源的浪费。

这也是为什么当前的系统看不到大量pagingspace分配的原因.

 

(2)LatePageSpaceAllocation(LPSA)

      在AIX4.2.1之后,4.3.2之前,操作系统默认使用LPSA机制。

这种机制是指当进程启动后,系统并不在PagingSpace中为该进程保留相应的页面。

只有当该进程的实际内存页面被修改过后,才会在PagingSpace中为这些被修改过的页面申请空间。

其中”内存页面被修改”的含义:

例如通过bzero()函数修改分配的内存的时候,或者调用calloc(),或者内存被初始化某些值的时候,系统会为这些workingpage在pagingspace中保留相应的页面.

      这种机制在一定程度上减少了PagingSpace的空间浪费,但是对系统也存在一定的风险。

比如,当一些后起的进程用了几乎全部的PagingSpace后,由于先起的进程并没有保留足够的PagingSpace空间用于进程的pageout操作,会导致该进程被杀掉。

 (3)EarlyPageSpaceAllocation(EPSA)

       在AIX系统中,当PagingSpace的使用率达到一定百分比时,系统就无法将需要pageout的页面写到PagingSpace中,这时候,该进程就很可能被杀掉。

为了避免这种情况的发生,EPSA机制会保证当进程被启动时,在PagingSpace中先申请一块页面空间,该空间大小与该进程所需要占用的实际内存的大小一致(将环境变量PSALLOC设为early,也就是“exportPSALLOC=early”)。

这样就保证当进程使用malloc()调用的同时,在PagingSpace中有相应的空间保留给该进程,从而保证该进程的pageout操作。

      这种机制虽然可以保证现有的进程安全,但由于很多被保留的页面空间并没有被用到,造成了非常大的空间浪费。

同时,也需要PagingSpace的大小比实际内存值要大很多。

       EPSA在以前版本操作系统中使用比较多,主要的原因当时的系统物理内存比较少,一般都少于512M,在少内存的情况下EPSA会使系统进程的调度更加安全.

 (4)相关命令

∙查看当前系统采用的pagingspace的机制

#vmo-a|grepdefps

                defps=1

defps=1表示采用的是DPSA,如果defps=0表示采用的是LPSA.

∙修改pagingspace的机制,采用LPSA

#vmo-odefps=0

∙查看defps属性

当前值是1,缺省值是1,启动时的值是1,取值范围是0-1,类型是动态可以修改的.

#vmo-Ldefps

NAME                     CUR   DEF   BOOT  MIN   MAX   UNIT          TYPE

    DEPENDENCIES

--------------------------------------------------------------------------------

defps                    1     1     1     0     1     boolean          D

--------------------------------------------------------------------------------

∙vmoTips

VMOManpage

-L[Tunable]

Liststhecharacteristicsofoneoralltunables,oneperline,usingthefollowingformat:

NAME           CUR   DEF   BOOT  MIN   MAX   UNIT     TYPE DEPENDENCIES

--------------------------------------------------------------------------------

memory_frames 128K          128K                4KBpages  S

--------------------------------------------------------------------------------

maxfree        1088 1088   130   16    200K  4KBpages  D  minfreememory_frames

--------------------------------------------------------------------------------

minfree       960   960   122   8     200K  4KBpages  D  maxfreememory_frames

--------------------------------------------------------------------------------

...

where:

CUR=currentvalue

DEF=defaultvalue

BOOT=rebootvalue

MIN=minimalvalue

MAX=maximumvalue

UNIT=tunableunitofmeasure

TYPE=parametertype:

D(forDynamic),S(forStatic),RforReboot),B(forBosboot),M(forMount),I(forIncremental),C(forConnect),andd(forDeprecated)

DEPENDENCIES=listofdependenttunableparameters,oneperline

 

Paging-spacethresholdstuning

     如果pagingspace少到一定的空间,操作系统将会通过先告警进程释放pagingspace,最后可能会kill进程.相关的两个参数npswarn和npskill:

#vmo-a|grepnpswarn 

              npswarn=249856

#vmo-hnpswarn

Helpfortunablenpswarn:

Specifiesthenumberoffreepaging-spacepagesatwhichtheoperatingsystembeginssendingtheSIGDANGERsignaltoprocesses.Default:

MAX(512,4*npskill).大于0小于系统pagingspace的数目. Increasethevalueifyouexperienceprocessesbeingkilledbecauseoflowpagingspace.

 

#vmo-a|grepnpskill

              npskill=62464

#vmo-hnpskill

Helpfortunablenpskill:

Specifiesthenumberoffreepaging-spacepagesatwhichtheoperatingsystembeginskillingprocesses.Default:

MAX(64,number_of_paging_space_pages/128).大于0小于系统pagingspace的数目.

 

Pagingspacegarbagecollection

     AIX5.3之后可以利用pagingspacegarbagecollection机制来freeuppagingspace.只作用于deferredpagespaceallocationpolicy.

∙方法一:

re-pagein后的垃圾收集

Themethodoffreeingapaging-spacediskblockafterapagehasbeenreadbackintomemoryfrompagingspaceisemployedbydefault.相关参数:

npsrpgmin:

停止re-pagein垃圾收集的freepagingspaceblocks数目

npsrpgax:

开始re-pagein垃圾收集的freepagingspaceblocks数目

∙方法二:

scrubbingmemory

Anothermethodofpagingspacegarbagecollectionisbyscrubbingmemory,whichisimplementedwiththepsgckernelprocess.Thepsgckernelprocessfreesuppagingspacediskblocksformodifiedmemorypagesthathavenotyetbeenpagedoutagainorforunmodifiedpagesforwhichapagingspacediskblockexists.相关的参数:

npsscrubmin停止scrubbing内存的freepagingspaceblocks数目

npsscrubmax:

开始scrubbing内存的freepagingspaceblocks数目

#vmo-a|grepnps

              npskill=62464

            npsrpgmax=499712

            npsrpgmin=374784

          npsscrubmax=499712

          npsscrubmin=374784

              npswarn=249856

 PagingSpace的创建原则

AIX中PagingSpace大小确定的指导原则如下(理论上):

∙系统实际内存小于64MB,pagingspace=2*RAM;

∙系统实际内存在64MBto256MB之间,PageSpace=RAMsize+16MB;

∙系统实际内存大于256MB,PageSpace=512+(RAM-256)*1.25;

∙当内存超过4GB时,则需要根据实际情况来定,一般可初始3GB,然后观察pagingspace的使用情况,如果使用率超过70%,则需要增加pagingspace。

此外在创建PagingSpace时还应遵循以下原则以提高性能:

∙创建的数量应尽可能的多;

∙每个PagingSpace的大小应该相同;

∙每个PagingSpace应尽可能的分配在不同的硬盘上。

工程和维护建议(目前内存和硬盘都比较大,相对比较实用些):

      如果硬盘空间不是问题的话,建议可以是内存的两倍.如果内存大于8G或者16G,可以考虑先和内存空间相同.同时用两块不同的内置盘各分配一半的pagingspace空间.对于做了根盘镜像的系统,建议可以不镜像pagingspace(维护时注意这些特点).大的swap空间可以避免DPSA可能产生的风险,对于运维来说可能可以减少相关的维护分析工作.

PagingSpace命令

     AIX中可以通过命令lsps-s查看PagingSpace的使用情况。

列TotalPagingSpace给出的是系统总的PagingSpace空间大小,PercentUsed则表示已被占用的PagingSpace的百分

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2