在Mac OS X上,vm_allocate()
允許創建可清除內存區域。當檢測到內存壓力時,該區域可能隨時被內核收回(除了被鎖定時)。這對於緩存數據等是有用的。Linux上的可清除內存區域
我想知道Linux(內核2.6)上是否存在類似的機制。谷歌搜索引導我瞭解Android上的一些信息,討論可以清除的共享內存的分配情況,但是我還沒有看到關於在真正的Linux上使用API的討論。對mmap
,shmat
等手冊頁的回顧顯示沒有設置可清除區域的標誌。此功能在Linux上可用嗎?
如何在Android此功能的筆記在這裏:
謝謝!
從XNU http://fxr.watson.org/fxr/source/osfmk/vm/vm_object.c?v=xnu-1228;im=bigexcerpts#L5265 – osgx 2011-03-21 15:04:12
感謝您的格式化修復位的代碼@osgx。 XNU代碼的確是我在OS X下看到的。 – 2011-03-21 15:10:18
你可以添加一些關於android討論的鏈接嗎? – osgx 2011-03-21 15:38:14