常常聽到 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.plist
<!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>
OS 3.1.3 可能不能用喔
<string>/private/var/vm/</string>
這資料夾下沒有 iphone_swap, 取代的是 iphone_swap0 iphone_swap1 iphone_swap2
3.1.3 甚至 iOS 4都可以用
後面標的數字是程式自動產生的沒錯,每塊虛擬記憶體大小為64mb
不好意思 我想問問怎樣設定檔案權限為644?
要用WinSCP才可以設定
抱歉喔!!看了知道還是不知道怎麼用?我電腦是用win7不是你說存放位置在哪我找不到?然後最下面有程式碼是要放進去的嗎?
謝謝!!
我不小心把vm資料夾刪掉了
是不是會造成電池問題
請問怎麼解決呢?
謝謝
重新安裝就可以了,不想用直接移除程式還有vm資料夾
請問 winscp要怎麼操作?
我載完之後根本燈不進去 卡在一開始很久根本不曉得要幹嘛= =
我這台ipod touch 2代,灌了os4之後
慢到一個不得了的速度= =
可是我按照上面的步驟作後,
用的感覺起來還是沒什麼改變ㄟ…
怎麼回事??
沒效果可能是沒改對喔
對阿,
可是我按照上面步驟做的ㄟ,
在試過一次也是沒有變,
討厭= =
改完重開機後用Sbsetting的Free memory試試?
怎麼用??
How ca I delete it in ifunbox? thx!
delete /var/vm and the plist.
只有管理員可以看到這則迴響
just remove com.apple.dynamic_pager.plist you put in before.