2012年1月13日 星期五

以RAMDisk加速瀏覽器及TEMP的設定

工作用的Windows 7筆電裝了8Gb的記憶體,偶而開VM用比較多外,通常都還有記憶體閒置著。
桌機的記憶體DDR3-1333 4Gb也已經降到五六百塊一條了!不買些來裝實在很對不起這些流血滿地的廠商。
最近找了64bit合用的Dataram RAMDisk來設置了2Gb空間放在(R:),這裡主要拿來加速瀏覽器。
至於以RamDisk加速windows 7開機的功能,目前我覺得不太有需要,所以後有用到再去瞭解。
原理概念安裝教學啊什麼的網路上有很多,這邊我要記錄的是幾個設置方式及路徑。


更改系統環境變數:
桌面的電腦按右鍵選內容(我都按Win-Pause)後,從進階頁進入環境變數設定,使用者變數部分TEMP與TMP的內容原本是「%USERPROFILE%\AppData\Local\Temp」、系統變數部分TEMP與TMP的內容原本是「%SystemRoot%\TEMP」,可以視情況改成「R:\TEMP」。


更改IE快取設定及位置:
進選項,在一般頁中間,按瀏覽記錄和暫存檔的設定鍵,把Temporary Internet Files使用空間原本的250Mb改為50Mb(因為我很少用),接下來按左下「移動資料夾」按鍵,把位置改選到「R:\Cache\IE9\」,它會自己生成一個Temporary Internet Files資料夾並要求登出重新登入。


更改Firefox快取設定及位置
在Firefox的網址列輸入「about:config」,然後點「我發誓,我一定會小心的」。
然後在任意位置按右鍵「新增」→「字串」。
輸入「browser.cache.disk.parent_directory」,按下確定後輸入快取資料夾的儲存位置,我是放在"R:\Cache\Firefox\"。
有用到離線功能的也可以新增「browser.cache.offline.parent_directory」字串輸入儲存位置,我是放在"R:\Cache\Firefox\Offline\"。
另外:
「browser.cache.disk.capacity」快取上限我設定204800(200Mb)。
「browser.cache.offline.capacity」離線快取原始是512000,我改成256000。
「browser.cache.disk.smart_size_cached_value」這個本來的設定值是1048576(1Gb,我在2G電腦重練發現預設值是256M,所以是抓八分之一?)!但我沒動。一來看到網路上有人說若改太小,看網路大型影片會中斷需重載,二來我根本沒有enable它所以沒差哈哈。
設好重開Firefox後,可以輸入網址「about:cache」看看設定後是否都運作正常。


更改Google Chrome快取設定及位置
Google Chrome只能修改捷徑,在執行檔後加參數。
我是設定250Mb(250*1024*1024=262144000)快取在「R:\Cache\Google Chrome」,所以加入「 --disk-cache-dir="R:\Cache\Google Chrome" --disk-cache-size=262144000」。
右鍵選取捷徑後按內容修改:
目標(Target):「%LOCALAPPDATA%\Google\Chrome\Application\chrome.exe --disk-cache-dir="R:\Cache\Google Chrome" --disk-cache-size=262144000」
開始位置(S):「%LOCALAPPDATA%\Google\Chrome\Application」
若是使用XP,則上數二個位置需相應修改至「%HOMEPATH%\Local Settings\Application Data\Google\Chrome\Application」,「%LOCALAPPDATA%」在Vista和Windows 7有效,在XP是無用的。
把它設為預設瀏覽器的人,記得也要按開始到左上角,在Google Chrome圖示上按右鍵選內容,把預設瀏覽器的捷徑也改一改。
如果使用修改版Google Chrome或有改安裝位置,那就自己找出來指吧。
關於Google Chrome預設安裝的相對位置,可以參考網友的整理


更改Firefox的Profile位置並套用
預設的Profile,
Win2000~Win7下是在「%APPDATA%\Mozilla\Firefox\Profiles\亂數.default\」;
MacOSX據說在「/Users/帳號/Library/Application Support/Firefox/Profiles/亂碼.default/」。
把上述資料夾改成好記名稱,或者乾脆重練一個,然後複製到"R:\Profiles\Firefox\",若有另外指定快取位置,可以把Cache資料夾刪掉省空間。

要套用指定位置的Profile,修改Firefox捷徑將目標加入「 -no-remote -Profile R:\Profiles\Firefox\自訂名稱」字串。
右鍵選取捷徑後按內容修改:
目標(Target):「"%ProgramFiles(x86)%\Mozilla Firefox\firefox.exe" -no-remote -Profile R:\Profiles\Firefox\自訂名稱」
開始位置(S):「%ProgramFiles(x86)%\Mozilla Firefox"」


更改Google Chrome的Profile位置並套用
預設的Profile,
Vista、Win7下是在「%LOCALAPPDATA%\Google\Chrome\User Data\Default\」;
Windows XP下是在「%HOMEPATH%\Local Settings\Application Data\Google\Chrome\User Data\Default\」。
把Default資料夾或者其他Profile資料夾改成好記名字,或者乾脆重練一個,然後複製到"R:\Profiles\Google Chrome\",若有另外指定快取位置,可以把Cache資料夾刪掉省空間。
要套用指定位置的Profile,右鍵選取捷徑後按內容修改Google Chrome捷徑將目標加入「 --user-data-dir="R:\Profiles\Google Chrome\自訂名稱"」字串。
套用了以後,左上角快速切換帳號功能可能需要重練,要怎麼修改就要進一步研究了。


設定自動回存硬碟及載回RamDisk:
若是只更改前幾項快取位置及設定,那麼RAMDisk其實不一定要回存硬碟,然後開機又從硬碟載入,但是若把瀏覽器的Profile放進去,甚至放點小軟體、資料庫來跑,就勢必要回存了。
Dataram RAMDisk有內建方便的開關機映象檔儲存回存功能,還可以設定自動間隔時間存檔,非常方便!
如果想要每次開關機時,忽略不需要的占空間暫存檔,只把其中的一部分需要的資料存檔,就必須另外處理。
若使用copy、xcopy也不是不行,可是Profile我喜歡放到dropbox去同步,裡面一堆碎片小檔案很討厭,所以我使用壓縮軟體WinRAR把他們包起來。
為了方便使用,首先到WinRAR安裝資料夾「%ProgramFiles%\WinRAR」,去把"Rar.exe"複製到「C:\」。

接下來打開記事本,把想要壓縮的東西列個清單,然後存成「C:\ramdiskbackup.lst」。我的備份清單如下:
R:\Profiles\*.*        //備份瀏覽器使用者設定檔。
R:\greensoft\*.exe     //備份綠色小軟體。
R:\Database\*.?db        //備份資料庫。

使用記事本,把不想要壓縮的東西列也個清單,然後存成「C:\ramdiskbackupavoid.lst」。我的排除清單如下:
urlclassifier*.*        //排除不斷去Google資料庫更新惡意網站資訊,然後暴肥的urlclassifier。也可以不設排除重練,然後去把urlclassifier.updatecachemax設定為"20971520"(20Mb)或更小。

使用記事本,寫批次檔依清單把想要壓縮的東西包起來,然後存成「C:\ramdiskbackup.bat」。我的寫法如下:
C:\rar.exe a -r -m1 -x@C:\ramdiskbackupavoid.lst -agYYYYMMDDHHMM D:\Dropbox\RDBK\rdbk  @C:\ramdiskbackup.lst        //依照清單以最低壓縮比(m1)做最快速的壓縮,並依日期時分命名。
move D:\Dropbox\RDBK\rdbk*.rar D:\Dropbox\RDBK\bked\        //把舊檔收進資料夾。

使用記事本,寫批次檔把包好的壓縮檔回存進RAMDisk,存成「C:\ramdiskrecover.bat」。我的寫法如下:
C:\rar.exe x D:\Dropbox\RDBK\rdbk*.rar R:\        //把資料回存 

接下來把剛剛做的批次檔指定自動執行:
從"開始→執行",輸入gpedit.msc,按Enter執行群組原則編輯器。
在Windows設定底下找到啟動/關機,然後在右邊的關機指令上按兩下開啟。
按新增將備份批次檔(C:\ramdiskbackup.bat)加進去,按確定後就綁定關機自動執行了。
使用家用版的gpedit被萬惡的稍稍軟閹割掉了,
只好自己在備份批次檔(C:\ramdiskbackup.bat)最底下再加一行:「C:\WINDOWS\system32\shutdown.exe -s -t 8」,
然後每次關機都按這個批次檔來關機囉~

最後將回存批次檔(C:\ramdiskrecover.bat)放在:「%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\」,也就是開始→所有程式裡面的啟動資料夾,這樣開機後就會自動回存了。


至此大功告成!!

2 則留言:

  1. 我用的是Primo Ramdisk。比如我要把VS 2012的cache放在R盤符,那么應該怎麼設定

    回覆刪除
  2. VS 2012,是Visual Studio 嗎?
    我沒在用無法驗證,因此以下純屬猜測與道聽塗說:

    全域:
    set TEMP=R:\Cache\VS2012
    set TMP=R:\Cache\VS2012

    ASP Compilation:
    ASP程式可以在WEB.CONFIG中找compilation debug 這個節點,在後面加上tempDirectory="R:\Cache\VS2012\ASP" 的屬性。

    請自己試試看吧!

    回覆刪除