免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2915 | 回复: 8
打印 上一主题 下一主题

[小机硬件] 对AIX内存结构的一些费解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-13 16:19 |只看该作者 |倒序浏览



图中的avm标注的范围好像是有错误的,应该不包括fre!!

图中还有一个我不太明白的地方:
1、paging space中的paging space pre-allocated是不是指lsps -s中看到的used%?
2、paging space used是不是指实际正在用的paging space中的页面数,lsps -s中的used%的值并不能代表该值,但不知怎样看,是不是
avm减去copm%就是该值?

论坛徽章:
0
2 [报告]
发表于 2008-07-15 11:52 |只看该作者

回复 #1 jkroom 的帖子

关注一下

论坛徽章:
0
3 [报告]
发表于 2008-07-15 16:20 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2008-07-15 17:21 |只看该作者
这张图是哪来的?没见过。

avm 的确不包括 free。

1、paging space中的paging space pre-allocated是不是指lsps -s中看到的used%?


pre-allocated 意指刚分配内存的时候就预先分配并保留换页区的空间 (4KB memory page 对应 4KB paging space block )。
多数情况下换页区空间只有在 page out to paging space 必须发生的时候才分配空间,即所谓的延迟分配 (Delayed Paging)。
某些情况下可以要求在分配内存的同时就分配对应的换页区空间,这样能够保证这部分内存一旦需要被换出的时候不会发生换页区不够的现象。

还有一种情况,就是曾经被换出来的内存页又被换回去了(page in after paged out ),这个时候换页区的空间并不会被释放,除非这个内存页本身被释放(free & disclaim)掉。
这种情况下一个虚拟页就同时有两份空间拷贝:它既在物理内存里,又‘在’ 换页区上。

普通的命令并不能显示换页区(paging space / paging device )里多少是 pre-allocated 的,多少存放着页的唯一拷贝,多少是保留曾经用过的。

2、paging space used是不是指实际正在用的paging space中的页面数,lsps -s中的used%的值并不能代表该值,但不知怎样看,是不是
avm减去copm%就是该值?


lsps -s 显示的应该就是从物理空间角度已经分配的换页区空间。它没有智能到能够区分上面三种情况。
由于存在 ”曾经被换出来的内存页又被换回去了,这个时候换页区的空间并不会被释放“ 这个情况,所以 avm - comp 并不一定就是used paging,后两者是有重叠的。

[ 本帖最后由 thesix 于 2008-7-15 17:24 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-07-16 08:19 |只看该作者

4楼好厉害

终于有答案了,谢谢。

论坛徽章:
0
6 [报告]
发表于 2008-07-16 12:43 |只看该作者

回复 #4 thesix 的帖子

lsps -s 显示的应该就是从物理空间角度已经分配的换页区空间。它没有智能到能够区分上面三种情况。由于存在 ”曾经被换出来的内存页又被换回去了,这个时候换页区的空间并不会被释放“ 这个情况,所以 avm - comp 并不一定就是used paging,后两者是有重叠的。


是否可以这样理解,用lsps -s命令看到的used%的量并不能真实的反映当前paging space中实际使用的虚拟内存页数,因为当中有存在”曾经被换出来的内存页又被换回去了,这个时候换页区的空间并不会被释放“ 这个情况,但真正使用多少是没有命令可以直接看到的!

或者直接理解为avm包括comp内存页和paging space中实际使用的内存页

[ 本帖最后由 jkroom 于 2008-7-16 12:45 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2008-07-16 13:11 |只看该作者
原帖由 thesix 于 2008-7-15 17:21 发表
这张图是哪来的?没见过。

avm 的确不包括 free。



pre-allocated 意指刚分配内存的时候就预先分配并保留换页区的空间 (4KB memory page 对应 4KB paging space block )。
多数情况下换页区空间只有 ...





[ 本帖最后由 chalylau 于 2008-7-17 08:59 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-07-16 18:31 |只看该作者
是否可以这样理解,用lsps -s命令看到的used%的量并不能真实的反映当前paging space中实际使用的虚拟内存页数,因为当中有存在”曾经被换出来的内存页又被换回去了,这个时候换页区的空间并不会被释放“ 这个情况,但真正使用多少是没有命令可以直接看到的!


从 lsps 的 manpage 来看,作者对 “allocated (reserved)” 和 “assigned (used)” 还是做了区分。
按照里面的讲法,除了 -s 以外的参数(比如 -a)都不会报告 reserved but not used 的那部分 ( in the case of PSALLOC=early ),就是被 pre-allocated (预分)的,但没有实际使用的。
而 -s 报告的百分比却是包括了那个部分:

Note: Setting the environment variable PSALLOC=early causes the use of early paging
space algorithm. In this case, the value the -s flag specifies is different from the value returned for a single paging space or when using
the -a flag for all the paging spaces. The value the -s flag displays is the percentage of paging space allocated (reserved), whether the
paging space has been assigned (used) or not. Therefore, the percentage reported by the -s flag is usually larger than that reported by the
-a flag when PSALLOC is set to early.


我做一个测试,证明了这段描述是确切的:
程序 'tc' malloc 1GB 空间,我的 paging space 是 3GB


  1. # PSALLOC=early ./tc &

  2. # lsps -a
  3. Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type
  4. hd6             hdisk0            rootvg        3584MB     1   yes   yes    lv

  5. # lsps -s
  6. Total Paging Space   Percent Used
  7.       3584MB              30%
复制代码


如果不用 "PSALLOC=early",s 就和 -a 一样显示 1%。

我觉得 -s 和 -a 都有各自的参考价值。

至于 ”曾经被换出来的内存页又被换回去了,这个时候换页区的空间并不会被释放“ 这个情况,我不知道有什么简单的办法区别出来,因为它已经算在 “assigned (used)” 里了。
也许 ' comp + paging - avm ' 就等于这部分内存。 实际情况中应该不需要分的这么清楚吧 ??

或者直接理解为avm包括comp内存页和paging space中实际使用的内存页


是。
可以这么讲:avm 是真正意义上的工作内存使用总量,其中有些’页‘占用物理内存,有些’页‘占用或预留了换页区,有些’页‘两边都用(但它们在 avm 里也只计一次)。

论坛徽章:
0
9 [报告]
发表于 2008-07-17 09:30 |只看该作者
原帖由 thesix 于 2008-7-15 17:21 发表
这张图是哪来的?没见过。

avm 的确不包括 free。



pre-allocated 意指刚分配内存的时候就预先分配并保留换页区的空间 (4KB memory page 对应 4KB paging space block )。
多数情况下换页区空间只有 ...



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP