網誌原文
http://blog.mowd.idv.tw/index.php?pl=851
========================================
常常聽到 iPhone 3G / Touch 2G 的使用者在抱怨 RAM 不夠用
尤其是在升到了 iOS 4 之後又開啟了背景功能
那速度真是慢到...
因此 Mowd 決定介紹一個好東西給大家
他的名字是 - com.apple.dynamic_pager.plist
相信大家多多少少有聽到一些 iPhone 上的虛擬記憶體管理程式
Mowd 在 Touch 2G 上用過兩三種
但是都沒辦法令 Mowd 滿意
因為幾乎所有的虛擬記憶體管理程式都會有一個嚴重的缺點
就是當記憶體剩下 30M 左右的時候
虛擬記憶體管理程式就會自動重整記憶體
此時就會當在那邊十幾二十秒
有時候還會當機重開
有人說,那就不要用到剩下 30M 就好了嗎?
可是 iPhone 3G / Touch 2G 記憶體本來就不多啊
而 3GS 記憶體那麼多也沒必要開虛擬記憶體
前面介紹那麼多
接下來進入今天的主題 - com.apple.dynamic_pager.plist
為什麼這個虛擬記憶體管理程式跟其他的不一樣呢?
因為他是呼叫 iPhone 內建但未被開啟的功能
所以相容性一定是比較好的
而且也不會有 Mowd 提到的 30M lag 的問題
安裝方式也很簡單
只要把這個檔案 copy 到 /System/Library/LaunchDaemons
執行身份為 root,檔案權限為 644
只要複製這個檔案到指定目錄後再重開機
就不用再擔心記憶體不夠的問題
同時聽 KKBOX 再瀏覽網頁
背景開十幾個程式也不會因為記憶體不夠而當掉
因為 com.apple.dynamic_pager.plist 會幫我們動態調配虛擬記憶體大小
不過由於是利用虛擬記憶體來替代真實的 RAM
所以速度上還是有一點差異
也會有人顧慮到拿儲存記憶體當 RAM 用,壽命會不會變短的問題
Mowd 覺得既然買了就是要用,要用就是要讓自己用的爽
隨便開個網頁聽音樂就會當掉的 Touch 不是 Mowd 想要的
所以 Mowd 已經用了快一年
目前都沒遇到什麼問題
看你是要只能開一個的程式,但很順暢
還是想要開很多背景程式但是稍微慢一點點(差異不大)
就讓你自己選擇囉
最後附上檔案下載
以及檔案內容
附加壓縮檔: com.apple.dynamic_pager.zip
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.apple.dynamic_pager</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/sbin/dynamic_pager</string>
<string>-F</string>
<string>/private/var/vm/iphone_swap</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

X