【AIX】AIX内存机制

【AIX】AIX内存机制

1  虚拟内存

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

AIX 中,虚拟内存段被分成 4096 字节大小的页,物理内存则被划分为 4096 字节大小的页帧(page frame

1.1  物理内存

实际存在的物理内存条上的可供系统使用的缓存。

物理内存大小的查看:

1)        # prtconf | grep memory

2)        # vmstat

3)        # lsattr –El sys0 –a realmem


A.
     
永久段(Persistent segment)和工作段(Working segment 

AIX 区分不同的存储段类型。理解不同的存储段类型,特别是工作段和永久段的区别非常重要。 

永久段在磁盘上有一个永久的存储位置。含有不可编辑数据的文件或者只读的运行程序被映射到持久段,例如包含数据的文件,可执行文件VMM 参数控制什么时候分配给永久段的 RAM 页帧可以被重写,并且用于存储新的数据。 

工作段是临时性的,仅在它们被某个进程使用的时候存在,并且没有固定的磁盘位置。进程堆栈以及数据区共享库文本内核数据被映射到工作段。当工作段数据也不能存在于存中的时候,他们被保存在磁盘上的页交换空间。

程序退出执行,所有工作段占用的页面被返回。

# svmon –G可以看到这两种内存类型
clip_image001 

B.       Computational(计算型)和 File(文件型)

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


# topas
 

clip_image002 

C.      Client 类型

Persistent 段的内存进一步被分类,其中 client 类型的内存被用于 map remote

files(例如通过 NFS 访问的文件).Enhanced JFS file systemJFS2)使用 clients page 来缓存 cache 

 

1.2    Paging Space


Paging space 是系统的一个物理存储空间, 占用一定的磁盘空间, 可以是 logical volume 或者文件的形式。Paging space 是系统的一个物理存储空间, 占用一定的磁盘空间, 可以是 logical volume 或者文件的形式。查看当前 paging space 的命令:

 

clip_image003  


1.3     Page Fault

查看 5 秒内调页错误

clip_image004 

1.4    Page In&Page Out

The number of pages paged in from paging space, and The number (rate) of pages paged out to paging space.


vmstat 查看

 

clip_image005  


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

1.5    Thrashing(颠簸)表示系统连续地 paging in out, 经常是系统缺乏内存的现象。

1.6    Repage

Page fault 可以是一个新的 page fault,也可以是一个 repage fault。出现 new page fault 是指第一次调用, 近没有相关的记录。出现 repage fault 是指当刚刚调用过但是已经被替换出去了(很可能写回磁盘了),再次调用。发生一次 page fault 是正常的,但应该避免发生多次的 page faultAIX 在这里是做了一种统计,

分别统计计算型和非计算型内存发生 repage 的数量,我们可以用 vmo 去调整这两种内存的 page 的机制。

2   Paging Space的管理机制

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

分别为: 

Early Page Space Allocation (EPSA) 

Late Page Space Allocation (LPSA) 

Deferred Page Space Allocation (DPSA)

2.1    Early Page Space Allocation

AIX 系统中,当 Paging Space 的使用率达到一定百分比时,系统就无法

将需要 page out 的页面写到 Paging Space 中,这时候,该进程就很可能被杀掉。为了避免这种情况的发生,EPSA 机制会保证当进程被启动时,在 Paging Space 中先申请一块页面空间,该空间大小与该进程所需要占用的实际内存的大小一致(将环境变量 PSALLOC 设为 early,也就是“export PSALLOC=early”)。这样就保证当进程使用 malloc()调用的同时,在 Paging Space 中有相应的空间保留给该进程,从而保证该进程的 page out 操作。这种机制虽然可以保证现有的进程安全,但由于很多被保留的页面空间并没有被用到,造成了非常大的空间浪费。同时,也需要 Paging Space 的大小比实际内存值要大很多。 

2.2    Late Page Space Allocation

AIX 4.2.1

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值