現在大家開著部電腦,大部分時間用來做乜?好多人都是用來上網吧?上網要快,除了網絡外,Browser 也很重要,不同 Browser 可以差好遠,正如上文,我強力推介 Mozilla Firefox 4 和 Google Chrome / Chromium。
有沒有方法可以更快!答案是有的。現在同大家講講吧。唔好開心住,我諗我這兒所講的方法無乜人合用,因為是 Linux 的,而且我假設你的電腦只有你一位 user,而且你有 root 的權限。如果你用其他 OS,自行看看可否調校一下。
這些方法,我均用到 /dev/shm
。利用 /dev/shm
,可以在記憶體中分出一些來做 file system,把本來在硬盤運行的資料移至記憶體中運行,從而提升速度。要建立 /dev/shm
,可以修改 /etc/fstab
,在該檔案內加入此行:
shm /dev/shm tmpfs defaults,nodev,nosuid,noatime 0 0
注意,你須有 root 的權限才可改動 /etc/fstab
。這樣每次 boot 機,都會把最多一半的記憶體作為 /dev/shm
,你亦可改變其大小,詳情請看文末的 Reference。
Chromium
先講 Chromium 的加速方法。我是把 Chromium 的 Profile data 和 Cache 放入
/dev/shm
。先在 terminal 執行以下指令:rsync -a /home/your_user_name/.config/chromium/ /dev/shm/chromium/
rsync -a /home/your_user_name/.cache/chromium/ /dev/shm/chromium-cache/
your_user_name 就是你的 login name,例如 peter, mary, deadfatboy...。第一行是把你硬盤內的 chromium profile 與
/dev/shm/chromium
Synchronize,第二行則是把你硬盤內 chromium 的 cache data 與 /dev/shm/chromium-cache
synchronize。因為記憶體內的資料在每次關機後都會刪掉,即是
/dev/shm
的資料在每次關機後都會刪掉的,所以你須設定系統,在每次開機把有關資料 sync 去 /dev/shm
,且在每次關機前把 /dev/shm
的資料 sync 回硬盤。設定方法在不同的 Linux distribution 會有所不同。我在 Arch Linux,修改
/etc/rc.local
便可改動開機的設定,在該檔案加入以下兩行:rsync -a /home/your_user_name/.config/chromium/ /dev/shm/chromium/
rsync -a /home/your_user_name/.cache/chromium/ /dev/shm/chromium-cache/
關機的改動,是在
/etc/rc.local.shutdown
加入以下兩行:
rsync -a --delete /dev/shm/chromium/ /home/your_user_name/.config/chromium/
rsync -a --delete /dev/shm/chromium-cache/ /home/your_user_name/.cache/chromium/
然後 reboot。因為你改動了 profile 和 cache directories,你要告訴 chromium 作出了有關改動。方法是執行時鍵入所須 option。在 terminal 執行以下指令便可:
chromium --memory-model=low --user-data-dir="/dev/shm/chromium" --disk-cache-dir="/dev/shm/chromium-cache" --disk-cache-size=50000000 %U
以上指令中,
--memory-model=low
是一項有關 chromium 的 memory management 的設定,看網上資料說有助加速。--disk-cache-size=50000000
是把 cache size 設定為最大 50MB。Cache size 太大我覺得會拖慢,我無深究幾大才最好,只是覺得 50MB 也好似不錯。另外,Cache size 太大的話,你每次 boot 便會花太多時間去把硬盤的 Cache sync 去 /dev/shm
,所以我建議不要 set 得太大。每次 run chromium 都要打以上那行咁長的指令,很煩吧?你可以在 Desktop Environment 弄個 shortcut。不同的 DE 會有不同的方法,自己找有關的資料。這樣便一功告成。
Firefox
在 Firefox 有幾個方法,可以一併使用。
最簡單的是 disable pango。在 Linux,在 ~/.profile
加入這行:export MOZ_DISABLE_PANGO=1
。Windows, Mac 的設定,大家可上網 Google 一下,search "disable pango"。
當然,亦可像上文般玩下 /dev/shm
。先執行以下指令:rsync -a /home/your_user_name/.mozilla/firefox/ /dev/shm/firefox/
在 /etc/rc.local
加入此行:rsync -a /home/your_user_name/.mozilla/firefox/ /dev/shm/firefox/
在 /etc/rc.local.shutdown
加入此行:rsync -a --delete /dev/shm/firefox/ /home/your_user_name/.mozilla/firefox/
在 Firefox,你無須像 Chromium 般搞 command line option,Firefox 有程式給你更改 profile。在 terminal 執行以下指令:firefox -profilemanager
選 "create profile" >> "next" >> "choose folder",選擇 /dev/shm/firefox/xyz.default
。xyz.default
應是其他名字,格式是 *.default 的 folder,自己看看你所用的是甚麼名字吧,我的叫 m393p6is.default
。
Reboot,大功告成。在 firefox,profile 同 cache 也在 /home/your_user_name/.mozilla/firefox
,所以此方法把 profile 和 cache 也一併放入 /dev/shm
。
有關 Firefox 的方法,我估用在 Thunderbird 亦可,在硬盤內。在Linux,Thunderbird 的 profile 和 cache 是在 /home/your_user_name/.mozilla-thunderbird
。透過類此方法便可提升 Thunderbird 的速度,不過我不建議咁做。
首先,在 boot 機時把資料 Sync 去 /dev/shm
,會增加 boot 機的時間,資料越多,時間越長。因此,我沒有把這方法用在 Thunderbird。
另外,以上方法你會有流失資料的風險。無人敢肯定自己唔會死機,無論幾穩定的 OS,都會有 BUG,硬件亦會老化引致系統不穩。當有意外發生,你無法正常關機,資料不能 sync 回硬盤,你便會流失資料。在 Browser,只是一些 History, Cache,或者係新加的 bookmark, extension,失去了也無乜所謂。但在 Thunderbird,失去的有可能會是重要的 Email,小心小心。
Reference
有關
/dev/shm
的資料:https://wiki.archlinux.org/index.php//dev/shm
有關 Chromium :
https://wiki.archlinux.org/index.php/Chromium#Profile_in_tmpfs
文章內只把 Chromium 放入 Memory,我的做法把 Cache 也放入 Memory。
有關 Firefox:
http://kb.mozillazine.org/Moving_your_profile_to_another_computer