欢迎来到天天文库
浏览记录
ID:9685801
大小:49.00 KB
页数:2页
时间:2018-05-05
《aix操作系统paging space的管理机制》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、AIX操作系统PagingSpace的管理机制 我们知道在AIX操作系统中,PagingSpace是一项很重要的设备,AIXkernel(内核)需要利用PagingSpace来管理虚拟内存。和内存页面一样,AIX的PagingSpace也是以4KB为单位,当实际内存数的空闲值低于一定数量以后,系统需要把实际内存中的某些计算页面(putationPage)写回到PagingSpace中(pageout),以便释放出实际内存页面用于其他程序。 在AIX4.3.2及以后版本中,操作系统提供了3种PagingSpace的管理机制。分别为: EarlyPageSp
2、aceAllocation(EPSA) LatePageSpaceAllocation(LPSA) DeferredPageSpaceAllocation(DPSA) EarlyPageSpaceAllocation 在AIX系统中,当PagingSpace的使用率达到一定百分比时,系统就无法将需要pageout的页面写到PagingSpace中,这时候,该进程就很可能被杀掉。为了避免这种情况的发生,EPSA机制会保证当进程被启动时,在PagingSpace中先申请一块页面空间,该空间大小与该进程所需要占用的实际内存的大小一致(将环境变量PSALLOC
3、设为early,也就是exportPSALLOC=early)。这样就保证当进程使用malloc()调用的同时,在PagingSpace中有相应的空间保留给该进程,从而保证该进程的pageout操作。 这种机制虽然可以保证现有的进程安全,但由于很多被保留的页面空间并没有被用到,造成了非常大的空间浪费。同时,也需要PagingSpace的大小比实际内存值要大很多。 LatePageSpaceAllocation 在AIX4.2.1之后,4.3.2之前,操作系统默认使用LPSA机制。这种机制是指当进程启动后,系统并不在PagingSpace中为该进程保留相应
4、的页面。只有当该进程的实际内存页面被修改过后,才会在PagingSpace中为这些被修改过的页面申请空间。这种机制在一定程度上减少了PagingSpace的空间浪费,但是对系统也存在一定的风险。比如,当一些后起的进程用了几乎全部的PagingSpace后,由于先起的进程并没有保留足够的PagingSpace空间用于进程的pageout操作,会导致该进程被杀掉。 DeferredPageSpaceAllocation 在AIX4.3.2之后,DPSA是系统默认的PagingSpace的管理机制。在这种机制下,系统不会为进程保留任何的page页面,直到系统确认
5、确实需要将内存中的页面pageout到PagingSpace中,才会把PagingSpace的页面分配给该进程。这种机制不会造成PagingSpace的空间浪费,但和LPSA一样,这种机制也给系统带来了相同的风险。 DPSA是AIX432及以后版本中所使用的默认机制,它通常适用于配有很大容量RAM的系统,因为它可以减少很多PagingSpace资源的浪费。 对于RAM容量不是很大(比如小于2GB)的系统,用户可以采用LPSA或EPSA机制。用/usr/samples/kernel/vmtune-d0命令可以停止使用DPSA,而使用LPSA。用/usr/sa
6、mples/kernel/vmtune-d0命令加上exportPSALLOC=early命令可以停止使用DPSA,而使用EPSA。用/usr/samples/kernel/vmtune-d1命令可以激活DPSA。 PagingSpace的页面释放 在AIX操作系统中,当内存中的页面被page到了PagingSpace中以后,那么这一块PagingSpace的页面空间将被保留给该内存页面,即使该页面已经被写回到内存中。因此,用lsps命令看到的PagingSpace的使用率可能并不能真实反映真正位于PagingSpace中的页面数,因为有些页面可能已经写回
7、到了内存中。 如果写回到内存中的页面是线程的工作存储页面(WorkingStorage),那么随着该线程的退出或者是相关的内存被释放--free(),PagingSpace中的相应页面块也才会被释放。——感谢阅读这篇文章,..,
此文档下载收益归作者所有