IBM的AIX内存管理机制

AIX的内存管理与SUN和HP不一样,我们采用滞后刷新方式,也就是说,AIX
的设计理念是对于稳定运行的应用程序,在长时间运行过程中应用程序重复调用同一
个数据文件的可能性非常大,所以,为了尽可能减少磁盘I/O,提高读取文件的速度
,避免在重复调用时每次都必须从磁盘读取数据文件,在AIX中任何进程调用文件进
入内存,即便该进程结束释放了所占用的内存,系统也并不立即将该使用过的内存段
刷新为“fre”状态,而是将其标注为文件页no-comp的方式存放于内存中,这样,如
果应用程序重复调用到该文件就可以直接从内存中读取数据。
AIX中,只要系统中有未被使用过的干净的内存,任何进程在申请使用内存
时总是首先占用未被使用过的内存空间,只要允许能够放在内存中的尽可能放在内存
中,只有物理内存被占用到未被使用过的内存空间只剩下120 pages时,操作系统才
会自动启动刷新内存进程,它根据AIX的内存刷新算法将不再使用的已使用过的内存
地址刷新为可用“fre”,一旦清理内存到“fre”超过128 pages,该刷新进程又自
动停止,等待下一次需要刷新内存时才重新启动。这里并不是说每次仅只释放8
pages,而是根据申请内存时的容量,比如,当某一个进程申请内存时一次申请100MB
,那么在刷新内存时也可将其一次置为“fre”。
所以,在AIX操作系统中,经过系统长时间运行,系统中的内存“fre”非常
小,而内存占用比往往超过99%,只要系统使用pagingspace的使用率没有不断增加,
而仅只是内存“fre”偏小,并不能说明系统有内存泄漏问题。如果希望对系统的内
存使用或对内存泄漏进行监控,建议采用pagingspace使用率进行监控,如当
pagespace使用率达到50%或其它什么值时报警警告。
只需要观察系统PI、PO是否持续增长,PAGING SAPCE是否持续增长。若这两项持续增长,则需要关注,否则不用关注,属于正常现象。
参与6

4同行回答

sky_snowsky_snow软件开发工程师天源迪科
原来aix是这样利用内存的,尽可能多的使用内存,不够的时候才去刷新内存。只要系统使用pagingspace的使用率没有不断增加,内存使用率高也是没关系的。受教了。显示全部

原来aix是这样利用内存的,尽可能多的使用内存,不够的时候才去刷新内存。只要系统使用pagingspace的使用率没有不断增加,内存使用率高也是没关系的。受教了。

收起
软件开发 · 2016-09-21
浏览1289
aix_louxlaix_louxl工程师杭州
好文章,学习了显示全部
好文章,学习了收起
金融其它 · 2011-08-11
浏览1349
yh_bruce@qq.comyh_bruce@qq.com系统管理员苏源信息
为啥楼主那么多金币啊?显示全部
为啥楼主那么多金币啊?收起
政府机关 · 2011-06-23
浏览1345
yh_bruce@qq.comyh_bruce@qq.com系统管理员苏源信息
写的很好,顶下。显示全部
写的很好,顶下。收起
政府机关 · 2011-06-23
浏览1317

提问者

deadman
擅长领域: 服务器存储Unix

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2011-06-22
  • 关注会员:2 人
  • 问题浏览:4731
  • 最近回答:2016-09-21
  • X社区推广