前兩天寫的一篇:[備忘] 設定 Firefox 17 Cache Memory。這裡有個問題:如果將「browser.cache.disk」 硬碟 Cache 容量設為0,或直接設定為關閉,而只在「broser.cache.memory」將 Cache 儲存在記憶體,並透過「privacy.clearOnShutdown.cache = disable」當 Firefox 關閉時可以將儲存於記憶體的 Cache 回存。那麼所要考量的是:回存 Cache 所存放的位置在哪裡?
答案是存放於「Firefox Profile」資料夾內。若為 Windows 7 版本,預設就是存放在「C:\Users\%username%\AppData\Roaming\Mozilla\Firefox」,其中「%username%」即為登入的使用者帳號。
所以,關閉 Firefox 時,還是需要把儲存於記憶體內 (memory)內的 Cache 給寫入回存到硬碟位置,仍是會造成硬碟讀取 I/O 的延遲 (雖然只在 開啟/關閉 火狐時)。
為了解決 Firefox 對於「cache.memory」回存的讀寫均可在記憶體內,那就必須將「Profile」移至 Ramdisk 內,參考作法如下步驟:
- 「找到」Firefox Profile 所在位置,以上述 Windows 7 的存放位置來說,有個檔案名稱為「Profiles.ini」,開啟後其中一列-「Path=Profiles\9tgjkwb6.default」(profile 命名為隨機名稱),即為預設所使用的 Profile 資料夾名稱。
- 將該資料夾複製至 Ramdisk 所指定的資料夾目錄內,例如 R:\FoxProfile 。
- 確認已關閉 Firefox,最好能透過工作管理員確定已關閉其 process>。
- 開啟「命令提示字元 (command prompt)」視窗,進入所安裝的 Firefox 目錄內 (如 C:\Program Files (x86)\Mozilla Firefox ,windows 7-x64),輸入:「firefox.exe -profilemanager」,即會出現 Firefox 設定檔對話框。
- 點選「建立設定檔 (Create Profile)」,要求給一名稱,例如「Ramdisk」;隨即出現 Profile 的存放位置,此時選擇對應至上述所複製至 Ramdisk 的設定檔位置。
- 完成!重新啟動 Firefox,觀察 Profile 是否有正常至 Ramdisk 讀寫,若正常亦可將原硬碟位置的 Profile 資料夾刪除備份。
這裡再把相關於 Cache 的設定欄位名稱與值列出如下:
browser.cache.disk.capacity = 0 browser.cache.disk.enable = false browser.cache.memory.capacity = 204800 browser.cache.memory.enable = enable privacy.clearOnShutdown.cache = disable |
(P.S. 截至 Firefox 17 版本,對於 cache.memory 容量上若超過 230 MB 設定,則打入「about:cache」顯示記憶體狀態會有問題。)
另,下列兩個欄位名稱其實與 Cache 回存功能無關,而是與 Offline 離線閱讀有關,若不需要,可以關閉。
browser.cache.offline.capacity = 512000 browser.cache.offline.enable = false |
思考:
- Profile 若存放至 Ramdisk,務必 Ramdisk 已有設定 Windows 開關機時的自動回存功能。
- 是否乾脆使用免安裝的 Firefox,整個移至 Ramdisk 就不用這些繁瑣的設定? 是的,但個人的使用經驗上就是覺得怪怪的,所以還是老實的將 Firefox 安裝於如 SSD 實體的儲存位置內。
如果把作業系統硬碟換成 SSD 是否就等於 Firefox 設定 RAMDISK 一樣?