AIX 性能调优

2019-05-24 20:18

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

序号 版本号 更改人 日期 备注 1 1.0版 bldmickey 2007-06-16 本章介绍和AIX内存相关的一些基本概念.

物理内存

物理存在的内存,查看命令: # prtconf |grep Memory Memory Size: 15936 MB Good Memory Size: 15936 MB

物理内存的分类

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

Persistent型是指读入到内存的内容本身在文件系统是存在的,例如包含数据的文件,可执行文件; 工作型是指进程中的Stack,变量, 共享内存段等(working segments, as are the kernel text segment, the kernel-extension text segments, as well as the shared-library text and data segments. ),是进程中途产生的。Persistent型内存被page out的时候回写到文件系统中,work型内存被page out的时候回写到paging space中. 通过svmon可以看到这两种内存的类型. # svmon -G

size inuse free pin virtual

memory 4079616 3477314 602302 535874 894316 pg space 7995392 2915 work pers clnt

pin 535874 0 0 in use 894316 0 2582998 (2) Computational(计算型)和File(文件型)

Computational型内存包含working-storage segments or program text (executable files) segments. 也就是包括work(工作型)再加上persistent(长久型)中的可执行文件的部分. File(文件型)是除去计算型的所有内存. Computational型可以理解为读入可执行文件的地方,文件型可以理解为读入文件中的data部分. 可以通过topas看到这两种内存的类型. MEMORY

Real,MB 15936 % Comp 22.8 % Noncomp 63.3 % Client 63.8 (3) Client类型

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

work pers clnt pin 535874 0 0 in use 894316 0 2582998

虚拟内存

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

Paging space

Paging space是系统的一个物理存储空间, 占用一定的磁盘空间, 可以是logical volume或者文件的形式. AIX内核需要利用 Paging Space 来管理虚拟内存。和内存页面一样,AIX的 Paging Space也是以4KB为单位,当实际内存数的空闲值低于一定数量以后,系统需要把实际内存中的某些计算页面(Computation Page)写回到Paging Space中(page out),以便释放出实际内存页面用于其他程序。查看当前paging space的命令: # lsps -a

Page Space Physical Volume Volume Group Size %Used Active Auto Type

hd6 hdisk1 rootvg 31232MB 1 yes yes lv

Page Fault

If the access is going to a page of virtual memory that is stored over to disk, or has not been brought in yet, a page fault occurs, and the execution of the program is suspended until the page has been read from disk. 查看page fault的命令: # sar -r 5

System configuration: lcpu=8 mem=15936MB 10:28:12 slots cycle/s fault/s odio/s 10:28:17 7992467 0.00 3.39 0.20

pi(Page In)

The number of pages paged in from paging space. 从paging space page到内存中的page数目, 这些页必定以前被page out到page space中的. 通过vmstat查看 # vmstat

System configuration: lcpu=8 mem=15936MB

kthr memory page faults cpu ----- ----------- ------------------------ ------------ ----------- r b avm fre re pi po fr sr cy in sy cs us sy id wa

1 1 894750 601858 0 0 0 2 3 0 15 861 286 0 0 99 1

po(Page Out)

The number (rate) of pages paged out to paging space. 如果持续看到po但是没有看到pi的增长,并不一定代表出现了Thrashing, 比如 系统正在读取大量的persistent pages会导致看到大量的page out, 这时候需要查看一下应用的类型. 被page out出去的数据,如果有进程需要再次reference的时候,将产生page fault,然后通过page in再次写入到内存. 通过vmstat查看

Thrashing

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

Repage

Page fault可以是一个新的page fault,也可以是一个repage fault. A new page fault occurs when there is no record of the page having been referenced recently. A repage fault occurs when a page that is known to have been referenced recently is referenced again, and is not found in memory because the page has been replaced (and perhaps written to disk) since it was last accessed. 发生一次page fault是正常机制,但应该避免发生多次的page fault,AIX在这里是做了一种统计,分别统计计算型和非计算型内存发生repage的count,我们可以用vmtune去调整这两种内存的page的机制(vmtune -p -P). AIX 性能调优 内存篇之二 Paging Space 序号 版本号 更改人 日期 备注 1 1.0版 bldmickey 2007-06-17 本章介绍和AIX Paging Space相关的知识

部分内容来源:

http://www-900.ibm.com/cn/support/nav/200234/p58.shtml

http://www.ibm.com/developerworks/cn/aix/library/au-cn-pagingspace/index.html

Paging Space的管理机制

在AIX 4.3.2及以后版本中,操作系统提供了3种 Paging Space的管理机制:

? ? ?

Deferred Page Space Allocation (DPSA) Late Page Space Allocation (LPSA) Early Page Space Allocation (EPSA)

(1) Deferred Page Space Allocation (DPSA)

在AIX4.3.2之后,DPSA是系统默认的Paging Space的管理机制。在这种机制下,系统不会为进程保留任何的 page 页面,直到系统确认确实需要将内存中的页面 page out 到Paging Space中,才会把Paging Space的页面分配给该进程。

DPSA是AIX 4.3.2及以后版本中所使用的默认机制,它通常适用于配有很大容量RAM 的系统,因为它可以减少很多Paging Space资源的浪费。 这也是为什么当前的系统看不到大量paging space分配的原因. (2) Late Page Space Allocation (LPSA)

在AIX 4.2.1之后, 4.3.2之前,操作系统默认使用 LPSA 机制。这种机制是指当进程启动后,系统并不在Paging Space中为该进程保留相应的页面。只有当该进程的实际内存页面被修改过后,才会在Paging Space中为这些被修改过的页面申请空间。其中” 内存页面被修改”的含义:例如通过bzero()函数修改分配的内存的时候,或者调用calloc(),或者内存被初始化某些值的时候, 系统会为这些working page在paging space中保留相应的页面. 这种机制在一定程度上减少了Paging Space的空间浪费,但是对系统也存在一定的风险。比如,当一些后起的进程用了几乎全部的Paging Space后,由于先起的进程并没有保留足够的Paging Space空间用于进程的page out操作,会导致该进程被杀掉。 (3) Early Page Space Allocation (EPSA)

在AIX系统中,当Paging Space的使用率达到一定百分比时,系统就无法将需要 page out的页面写到Paging Space中,这时候,该进程就很可能被杀掉。为了避免这种情况的发生,EPSA机制会保证当进程被启动时,在Paging Space中先申请一块页面空间,该空间大小与该进程所需要占用的实际内存的大小一致 (将环境变量 PSALLOC设为early,


AIX 性能调优.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:苏教版小学一年级数学下册期中试卷WORD春季

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: