免费注册 查看新帖 |

Chinaunix

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

对hp-unix内存管理的一些理解,请指正. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-18 17:18 |只看该作者 |倒序浏览
以下是我对hp-unix内存的一些理解,请大家不吝赐教:

1.关于hp-unix(以下简称unix)内存:
   a.在一个帖子中我曾看到,在unix中总内存就为为虚拟内存,物理内存是机器实际的ram内存,因此有如下公式:
          虚拟内存=物理内存(physic memory)+swap内存.
          swap内存=设备页面区(device paging areas)+文件系统页面区(file system paging areas)
   b.如果总内存称为虚拟内存,那么还可以有如下公式成立:
          虚拟内存=系统缓存(比如,内核占用的内存....)+PageFile.
          物理内存(physic memory)=系统缓存(比如,内核占用的内存....)+驻留在物理内存中的PageFile.
2.unix对物理内存的管理:
   通过仔细看了一下swapinfo命令的man手册:
   a.unix对物理内存一部分用作系统缓存(给内核等使用);
   b.对剩下的大部分内存实行页面文件管理,当cpu需要对应数据时,如果包含对应数据的页面文件不在物理内存中就与swap区进行页入操作.同时如果空间紧张会将不用的页面文件页出.
3.unix对页面文件的管理:
   unix swap区包括设备页面区(device paging areas)和文件系统页面区(file system paging areas),其中设备页面区是相对固定的专门分配给swap的,文件系统页面区是一个动态的辅助页面区.

   对于如下一个swapinfo的输出:
/home/oracle>swapinfo -a
                 Kb             Kb                 Kb            PCT      START/      Kb
TYPE         AVAIL        USED           FREE          USED     LIMIT    RESERVE   PRI  NAME
dev          4194304    719960    3474344       17%       0             -              1    /dev/vg00/lvol2
reserve       -             1465184   -1465184
memory    2097152   573680    1523472        27%

当一个进程创建或申请更多空间时,unix检测是否还可分配空间,就是dev,fs,memory的可用空间是否大于reserve的FREE栏的绝对值:
a.如果大于unix则拒绝空间申请.
b.如果小于unix则在将在reserve中增加相应的空间预留,等待页面活动发生已分配内存空间.

以上是我对hp-unix内存管理的一点理解,希望指正.另,有几处疑惑:
1.物理内存中的系统缓存,是不是用来储存指令,变量等,除了给内核还有其它的设备也占用吗?
2.关于swapinfo输出中的memory是不是也象reserve一样是一个伪存储区,它没有象dev和fs等对应的存储设备?
3.按照swapinfo的man中描述,在实际页面活动分配存储空间时,只有在dev和fs已经枯竭才会用到memory中的空间,也就是上面swapinfo的memory输出USED栏应该时0.

招聘 : 系统集成
论坛徽章:
0
2 [报告]
发表于 2007-10-18 22:52 |只看该作者
2、swapinfo中的memory是physical memory中用作pseudo swap的一部分,reserve是dev wap中为进程所保留的一部分空间

3、pseudo swap的USED栏一般不会为0,进程先用reserve和pseudo swap部分,不足再用dev swap如果dev swap USED不为0,说明physical memory有所不足,需要注意

论坛徽章:
0
3 [报告]
发表于 2007-10-25 17:53 |只看该作者
看了几天文档再来顶帖.
对于2我能理解.
3.up unix设定pseudo swap是为了防止swap空间不够,这其中有很多不明白.
当一个进程创建的时候会在swap预留相同大小的空间,以防止进程因为不能分配到空间而off.这个空间不是马上就分配,首先是在reserve做一个累加.当进程需要利用再次扩展空间的时候,就会在reserve的空间中分配.如果swapmem_on为on,hp unix就会直接在pseudo swap中分配空间,如果为off就会在swap(dev 或fs swap)中分配.
不知可否这么理解.

论坛徽章:
0
4 [报告]
发表于 2007-10-26 09:05 |只看该作者
自己顶一个,盼hp unix高手指教.

论坛徽章:
0
5 [报告]
发表于 2007-10-27 19:19 |只看该作者
我再顶。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP