大幅提昇實體硬碟讀寫效率的超效工具-PrimoCache

其實我早已購買了對岸研發的「Primo Ramdisk」,一次買三套授權,而且用了好幾年,用得非常滿意。我利用 Ramdisk 切割了約 5~8GB 的 DRAM作為邏輯硬碟 (例如磁碟代號為 R),然後把系統的暫存位置 (TEMP)指向 R磁碟,如此可以大幅提昇系統暫存檔案的讀寫效能,且也比較得以降低 SSD (作為系統碟)的寫入次數,進而延續 SSD 的使用壽命。

該家公司有另一套產品:「PrimoCache」,作用幾乎等同於最近 Intel 新發表的「Optane Cache」,採以 Optane 專屬記憶體 (比 SSD 快上幾倍)來作為 SSD 的內存 (Cache)。不過不同的是 PrimoCache 則採以 DRAM 與 隨身碟 (Flash Memory)於 Windows-based OS 層級 (也就是不能使用在如 Linux 系統)作為包括 SSD、機械硬碟的內存。

    簡單比較:

  • Optane 屬硬體規格,主機板要能有支援;PrimoCache 為 Windows OS層級的工具軟體。
  • Optane 需使用專屬的實體記憶體,目前僅支援 32GB,而且不太便宜;PrimoCache 則採以 DRAM 與 隨身碟作為一級與二級的緩存。

簡而言之,若主機板有 16GB 以上記憶體,且主要的作業系統為 Windows 7/10,那麼採以 PrimoCache 是蠻好的 C/P 值,一套授權約台幣九百,且設定彈性相當十足。

我的桌機就有 32GB 記憶體,還有一條號稱高效讀取 SSD等級的隨身碟 (64GB USB3.0)。而儲存機制除了系統碟是 256GB 的 Intel SSD 外,還有兩顆大容量的機械硬碟 (7200 轉),一顆昨為文書碟、另一則為遊戲碟。

閱讀全文 »

[火狐調教] 將 Firefox Profile 移至 Ramdisk

前兩天寫的一篇:[備忘] 設定 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 內,參考作法如下步驟:

  1. 「找到」Firefox Profile 所在位置,以上述 Windows 7 的存放位置來說,有個檔案名稱為「Profiles.ini」,開啟後其中一列-「Path=Profiles\9tgjkwb6.default」(profile 命名為隨機名稱),即為預設所使用的 Profile 資料夾名稱。
  2. 將該資料夾複製至 Ramdisk 所指定的資料夾目錄內,例如 R:\FoxProfile 。
  3. 確認已關閉 Firefox,最好能透過工作管理員確定已關閉其 process>。
  4. 開啟「命令提示字元 (command prompt)」視窗,進入所安裝的 Firefox 目錄內 (如 C:\Program Files (x86)\Mozilla Firefox ,windows 7-x64),輸入:「firefox.exe -profilemanager」,即會出現 Firefox 設定檔對話框。
    2012-12-2 上午 04-07-47
  5. 點選「建立設定檔 (Create Profile)」,要求給一名稱,例如「Ramdisk」;隨即出現 Profile 的存放位置,此時選擇對應至上述所複製至 Ramdisk 的設定檔位置。
  6. 完成!重新啟動 Firefox,觀察 Profile 是否有正常至 Ramdisk 讀寫,若正常亦可將原硬碟位置的 Profile 資料夾刪除備份。

閱讀全文 »

[備忘] 設定 Firefox 17 Cache Memory

** 2012/12/06:
如果將硬碟的 Cache 關閉或設為0 時,可以將 Firefox 的設定檔移至 Ramdisk,以降低開啟/關閉火狐時的硬碟讀寫回存問題。參考個人另外寫的一篇:[火狐調教] 將 Firefox Profile 移至 Ramdisk
**

目的:讓 Firefox 17 可以利用內建的功能,將 Cache 儲存在 RAM 內,然後關閉時可以把 Cache 資料存回硬碟內 (最好是存回至 RamDisk)。

說明:自 Firefox 10.X 版本之後,已可使用內建的機制,將 Cache 儲存至 RAM Memory 內,並不需要再額外設定將 Cache 儲存到硬碟 (或 RamDisk),如此透過內建的 Cache 管理機制會更有效控管讀寫的效率。

為了增強效能與穩定性,使用者可以將 Cache 儲存在硬碟空間設為 0,亦即不寫入到硬碟;但是當關閉 Firefox 時,最好可以考慮將 在記憶體內的 Cache 回存,如此有些已登入網站的帳號資訊等,仍可以保留。

    How-to:

  1. 開啟 Firefox,在位址欄內輸入: about:config 。
  2. 在搜尋框內填入: browser.cache.disk ,先設定硬碟的部分:
     browser.cache.disk.capacity: 0
     browser.cache.disk.enable: true
     
     browser.cache.disk.parent_directory: R:\FoxCache
     //此名稱預設不存在,須新增該名稱(選字串),再填入儲存的磁碟與資料夾 (建議儲存至 RamDisk)
  3. 搜尋框內填入: browser.cache.memory ,設定記憶體的部分:
     browser.cache.memory.enable: true
     
     browser.cache.memory.capacity: 128000
     //儲存至記憶體的容量,以 K 為單位,上述為 128 MB。
  4. 搜尋框內填入: browser.cache.offline ,設定離線時的回存功能:
     browser.cache.offline.enable: true
     
     browser.cache.offline.capacity: 512000
     //儲存至硬碟(或 RamDisk)的容量,以 K 為單位,上述為 512 MB。
  5. 最後,注意這個設定(要設為 false 才可以回存):
    privacy.clearOnShutdown.cache: false

閱讀全文 »

[應用程式] 執行 Firefox 4 與 Chrome 瀏覽器@Ramdisk

自從將 Ramdisk 設為 5GB 大小之後,詳見-線上購買了 VSuite Ramdisk Server(Edition) 工具軟體,我都嘛把系統暫存檔、下載資料夾、瀏覽器 Cache 等全給設定到 Ramdisk 磁碟內。除了可以減少我的 SSD 系統碟 I/O 讀寫、延長使用壽命外,系統執行效能當然更可以大幅提升。

如此的應用還意猶未盡,5GB 的容量,都還只用不到 300MB。所以,我也就計畫著把將一些較頻繁使用的綠色 (Green)軟體給移到 Ramdisk 內來執行。

甚麼是 Green? 就是免安裝、號稱環保的應用程式,不需要透過 Windows 系統那個惱人的註冊表 (registry)安裝程序。所以只要把該應用程式整個資料夾 (folder)複製到系統任一個儲存位置,馬上就可以執行。因具有這樣可攜性 (portable)的效果,也很方便放在 USB 隨身碟帶著就走,插到任一電腦就可以直接執行。

對我來說,最頻繁的應用程式是甚麼呢?那當然就是瀏覽器 (Browser)啦。

近幾年來,我已經很習慣使用 Firefox 當為主要的瀏覽器。而至於 Google Chrome,我則是把它作為「工作用」的瀏覽器。每次啟動 Chrome,預設就會打開五個分頁:iGoogle, Gmail, Google Reader, Remember the Milk, 公司用郵件系統 (其實也是 Google 提供的)。

所以,兩者的瀏覽器包裝成綠色環保的可攜性應用程式,然後把它們丟到 Ramdisk 內執行,豈不快哉!?

閱讀全文 »

超小巧效能強悍的窮人版 Ramdisk-ImDisk (設定篇)

作為虛擬磁碟的驅動程式,ImDisk 最主要的作用就是在於將某一個映像檔案 (Image file),給掛載 (mount)到任一特定的虛擬硬碟上 (可自行指定硬碟代號)。

所以如何將 ImDisk 當成 Ramdisk,基本的原理就是:

  1. 創建一個新的映像檔案。
  2. 將該映像檔案掛載到特定的虛擬硬碟上。

再來就是考慮如何在系統開關機時自動回存的功能了。

  • 既然 ImDisk 可以將映像檔案掛載到虛擬硬碟上,所以只要在系統開機時執行掛載的指令即可。
  • 但 ImDisk (至目前版本, 1.4.1)並沒有提供如何將虛擬硬碟內變更後的資料寫回至映像檔,所以就必須找一個具有「磁碟複製 (disk clone)」功能的工具程式,來達成寫回實體硬碟映像檔的功能。這邊目前我是採用同一作者撰寫超小巧的工具程式-rawcopy,來完成這一功能。(也可以使用如 dd for windows 工具)
  • 將上述掛載與寫回作成批次指令 (batch file),然後在系統開關機時自動執行批次指令。

以下就把我安裝與設定 ImDisk 的心得整理成步驟實行的導引,我的環境為 Windows 7 x64。
閱讀全文 »

超小巧效能強悍的窮人版 Ramdisk-ImDisk (介紹篇)

在 Windows 7 x64 的作業環境下,我所使用過的 RamDisk 軟件,就屬 VSuite Ramdisk Server(Edition) 最為滿意了。它只有一個缺點,授權費用蠻貴的,一套買下來要花上新台幣 NT$3,500,詳見: 線上購買了 VSuite Ramdisk Server(Edition) 工具軟體

在我的 Desktop PC (16G 切 5G),跑 VSuite 相當順暢,把一堆暫存或 Cache 等設在 Ramdisk,不僅快速,還避免了 SSD 繁瑣的檔案 I/O 動作,多少也延長了 SSD 使用壽命。

而我最近一臺向 Ringle 購買的二手筆電-Lenovo W500,硬體核心是 8GB RAM + 120G SSD (Samsung),我打算切個 2G RAM 同樣作為系統暫存檔的位置。

不過我可不想再買 VSuite 授權了,它們售價策略很硬沒有彈性,買兩套也沒有便宜,所以還是再轉尋覓免費版本的 Ramdisk 軟件。我再次安裝了那個網友們普遍還頗好評的 Dataram Ramdisk,但又再一次地讓我失望,只要牽涉到「回存」問題,也就是關機時寫回實體儲存空間、開機時再倒回去 Ramdisk,系統的開機與關機實在太慢太慢了。原來我開機可能只要 20 餘秒,一設定 Dataram 的回存功能,開機可能就要耗上兩三分鐘以上,實在無法忍受。

爬了許多文,看到這篇:RamDisk + Source Code = Super Fast Development。作者與我有同樣的需求,而且他也使用過多種 Ramdisk 均不滿意回存效能,而最終他選擇了極為小巧的 ImDisk (不到 300K),並再行客製系統開/關機時的批次回存功能。

閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal