Ubuntu 進階優化和調校
出自Ubuntu 正體中文 Wiki
(→使用Prelink) |
|||
第229行: | 第229行: | ||
'''警告:無用翻譯在清除後無法還原,若使用後造成系統損壞,作者並不負責。''' | '''警告:無用翻譯在清除後無法還原,若使用後造成系統損壞,作者並不負責。''' | ||
+ | |||
第323行: | 第324行: | ||
*winbind | *winbind | ||
*acpid | *acpid | ||
+ | |||
第414行: | 第416行: | ||
網頁瀏覽器=>自訂=>指令 : /opt/swiftweasel/swiftweasel | 網頁瀏覽器=>自訂=>指令 : /opt/swiftweasel/swiftweasel | ||
+ | |||
+ | |||
+ | |||
+ | == Ubuntu Tweak 個人化設定調校工具 == | ||
+ | |||
+ | [[圖片:Screenshot-Ubuntu Tweak.png]] | ||
+ | |||
+ | 下載: http://www.getdeb.net/app/Ubuntu+Tweak | ||
+ | |||
+ | 雙擊滑鼠安裝 |
在2008年11月7日 (五) 16:36所做的修訂版本
目錄 |
前言
Ubuntu 作為一個使用者親和力高的作業系統,在設計上就是希望"越少手動調校越好",因此需要考慮到系統的泛用性,必須以"最廣大的使用者群"作為優先考量,其中有些功能都需要較多的硬體資源。
實際上,根據國外Benchmark評測的結果,預設的Ubuntu效能已經不差,以今日的電腦配備來執行它已是綽綽有餘,所以不需要再特別做調整,但如果有需要的人,仍然可以嘗試對它做進階的優化、加速。
因本文提及的優化動作會牽涉到系統變更,也有可能造成系統無法正常工作,因此請在動作執行前,備份重要檔案。
加速EXT3檔案系統
- 注意1: 此設定只適合ext3格式的磁碟分割
- 注意2: 此設定牽涉到修改開機檔和裝置掛載設定檔,因此有無法開機的風險,不適合新手操作,除非使用者知道怎麼用Live CD登入並回覆備份。
EXT3檔案系統有三種日誌模式
- data=journal
- data=orderd
- data=writeback
Ubuntu預設是: "data=orderd",是最保險穩定的日誌模式,但是"data=writeback"模式會較有效率 (但沒有"ordered"那麼萬無一失),如果不介這點的話,可以依照下列方式考慮將預設日誌改為"writeback"
1. 因為將更動到Grub開機選單,所以請備份你的menus.list :
cp /boot/grub/menu.lst /boot/grub/menu.lst.backup
如果無法開機,可以用Live CD進入,掛載/boot,進入/boot/grub,把舊檔拷背回去
2. 編輯menus.list
sudo gedit /boot/grub/menu.lst
- 找到第一行kernel描述
- 後面加入:
<空格> rootflags=data=writeback
最後看起來會類似:
儲存、離開。
3. 修改fstab (開機自動掛載設定檔) :
首先備份fstab
sudo cp /etc/fstab /etc/fstab.backup
編輯fstab
sudo gedit /etc/fstab
現在要加入《data=writeback,noatime》至你的硬碟掛載設定:
Control + F : 找到 《,errors=remount-ro》
然後在"ro"後方加入:
《,data=writeback,noatime》
最後看起來像是:
存檔、離開
4. 執行tune2fs 讓設定生效:
sudo tune2fs -o journal_data_writeback /dev/*ext3硬碟分割代號*
代號可以用以下指令確認:
df -h
檢查看看有沒有套用成功:
sudo tune2fs -l /dev/ext3硬碟分割區代號
重新啟動系統。
sudo reboot now
更改置換檔(swap)使用率設定:
swap使用率設定的設定介於0~100 (%) 預設是60, 如果數值越高, (最多100)則在swap工作量會越多,也就越操硬碟。
筆記型電腦的話, 可以考慮將Swapiness設成 20 (考慮到休眠模式), 擁有足夠的記憶體 (1GB +) 的一般桌上型電腦可以考慮設成 10
先備份:
sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak
編輯:
sudo gedit /etc/sysctl.conf
捲到該文件最底部, 加這行:
vm.swappiness=10
儲存離開
重啟sysctl讓設定生效:
sudo sysctl -p
關掉ipv6
sudo gedit /etc/modprobe.d/bad_list
把下面這行貼進去然後儲存關閉:
alias net-pf-10 off
使用readahead
在一兩年前,Linux 核心尚缺乏一個好的的硬碟預讀機制時,桌面系統的使用者若要加速開機的速度,通常得先解決磁碟存取速度的瓶頸問題。於是得依賴如 readahead 這樣的工具來預先載入想讀入的檔案,以便提高系統載入的速度。
詳見: http://people.debian.org.tw/~chihchun/2008/09/09/readahead-on-eeepc/
安裝:
sudo apt-get install readahead
不用設定,但Grub需要做Profile,請依照下列步驟:
Grub Profile
會將一些基本的開機動作給"歸檔",之後開機速度會稍微加快,適合在大量移除、新增套件、以及更新kernel之後執行一次:
重開機, > 按ESC > 進入Grub選單, Ubuntu開機那行按E編輯 >
第一行再按E編輯 >
第一行(kernel)那行最後面加入:
<空格>profile
Enter, ESC退出,同一行按"b"繼續開機,這次開機會很花時間,以後就不需要再做一次 (除非 之後有大量移除、新增套件、服務、以及更新kernel)
使用localepurge清除不需要的語言檔
功能說明:一般人通常都會固定使用一種語文..在 i18n 的架構下 , 各國的語文都會有自己一套 locale data , 這當中最明顯的資料就是軟體翻譯檔案 , 有些軟體會提供多國語文的支援,因此當您安裝完一套軟體之後..該軟體可能也順便加裝了好幾國語文的 locale data 對於使用固定語文的人來說..其他沒用到的 locale data 就佔了硬碟空間,千萬別小看這些翻譯檔案..將很多軟體的各國 locale data 加起來也是很大的... 所以這時候我們就需要 locale data 的清道伕 - localepurge .
安裝:
sudo apt-get install localepurge
裝好會跳出這個畫面:
只選擇EN_US和zh_TW.Big5, zh_TW.Big5.UTF-8
按<TAB> 、<確定>
使用PCMAN trans-purge
trans-purge 顧名思義,這是用來移除系統上無用的多國語言翻譯, 很多人都知道 localepurge,但是系統上可以 purge 的其實還有很多地方
我們只用英文和 zh_TW,但是這些檔案內卻常包含十幾國翻譯, 因此會造成系統載入速度的拖慢,也浪費磁碟空間
desktop-purge 就是用來自動掃瞄系統上的 *.desktop 檔, 然後把其中用不到的翻譯全部刪掉,再存檔回去, 使用方式: 以 root 權限直接執行 desktop-purge, 主要會加速的是 gnome-panel 一類,需要產生選單的程式, 效果很明顯。 我系統上需要載入的設定檔從 2 MB 減為 2xx KB。
mime-purge 是從 mime-database 裡面拿掉用不到的檔案敘述, 主要能加速的對象是檔案管理程式 (對 PCManFM 有效), 使用方式: 以 root 權限直接執行 mime-purge
gconf-purge 會從 gconf 的 schema 檔裡面抽掉無用翻譯,可以從系統上從原本的 20 MB 清除完剩下 1.5 MB,相當可觀, 使用方式: 以 root 權限直接執行 gconf-purge
所有用不到的翻譯會被清除掉 (無法復原), 保留下來的語言是英文以及「目前使用中的 locale」
1. 必要編譯的套件
sudo apt-get install build-essential
OR
sudo apt-get install libglib2.0-dev
下載原始碼:
- http://pcman.sayya.org/desktop-purge.c
- http://pcman.sayya.org/mime-purge.c
- http://pcman.sayya.org/gconf-purge.c
2. 編譯程序:
gcc `pkg-config glib-2.0 --cflags --libs` -o desktop-purge desktop-purge.c
gcc `pkg-config glib-2.0 --cflags --libs` -o mime-purge mime-purge.c
gcc `pkg-config glib-2.0 --cflags --libs` -o gconf-purge gconf-purge.c
3. 安裝程序:
sudo cp desktop-purge /usr/bin/ sudo cp mime-purge /usr/bin/ sudo cp gconf-purge /usr/bin/
4a. 手動清理:
sudo desktop-purge sudo mime-purge sudo gconf-purge
4b. 自動清理:
讓每次 apt-get 安裝軟件後自動進行清理。建立這個檔案
sudo gedit /etc/apt/apt.conf.d/99-transpurge
貼上以下內容並儲存:
DPkg { Post-Invoke {"if [ $(ps w -p "$PPID" | grep -c remove) != 1 ]; then /usr/bin/desktop-purge > /dev/null; /usr/bin/mime-purge >/dev/null ; /usr/bin/gconf-purge > /dev/null; else exit 0; fi";}; };
警告:無用翻譯在清除後無法還原,若使用後造成系統損壞,作者並不負責。
使用Preload
Preload可以在背景監控你最常用哪些程式,然後事先把那些程式載入快取,這樣當你要執行這些程式時,就可以快速啟動。 ("感覺上"應用程式啟動速度會增快)
安裝
sudo apt-get install preload
不用設定
使用Prelink
prelink 是加快 ELF shared libraries/executables 的載入速度,不算是檔案快取,可以提升應用程式的啟動速度:
安裝
sudo apt-get install prelink
此外在debian及ubuntu下都已有設定檔可定時執行,
sudo gedit /etc/default/prelink
加入
PRELINKING=yes
已有/etc/cron.daily/prelink,如此便會由cron自動執行,除了第一次時間很長外,
後續應該速度都很快,除非你upgrade整個系統所有檔案。
在硬體配備較差的機器上,Prelink所有檔案並不是個好主意,因此可以用手動處理prelink,只針對某些應用做Prelink
可以下如此參數
sudo prelink -avmR
其中參數代表
a 對/etc/prelink.conf 中所紀錄的全部位址進行prelink v 顯示正在處理的內容 m 節省記憶體,他可以讓兩個不會被同時使用的函式庫共用同樣的虛擬位址 R 分配亂數位址,能減輕緩存溢位攻擊的狀況
範例: 只針對 Firefox做prelink
sudo prelink -Rm /usr/lib/firefox-3.0.3
範例: 加入開機自動執行:
sudo gedit /etc/init.d/prelink-fx.sh
加入:
#!/bin/sh sudo prelink -Rm /usr/lib/firefox-3.0.3
儲存、退出 ......
加入開機指令稿,讓他開機時自動prelink
sudo update-rc.d prelink-fx.sh defaults
關閉不需要的Gnome作業階段
登入時取消不必要執行的程式可加快進入桌面的速度。
系統 => 偏好設定 => 作業階段 =>
將不需要的程式取消勾選,例如沒有藍牙的可以取消"藍牙管理員",不用tracker (搜尋索引)可以取消"Tracker",還有"視覺輔助"等等....
關閉不必要的系統服務(Service)
去掉不必要的服務可以減輕系統負載和加快開機速度:
系統=> 管理=> 服務 => 解除鎖定 =>
特別注意: 有些服務關閉會造成開機問題:
以下請不要隨便關閉:
- powernowd
- portmap
- dbus
- gdm
- acpid
- winbind
- acpid
使用sysv-rc-conf關閉更多系統服務(Service)
特別注意: 有些服務關閉會造成系統異常,如果您不熟悉這些服務是什麼,請勿動他,上網查詢明白後再決定是否關閉它:
安裝:
sudo apt-get install sysv-rc-conf
在我們開始搞亂它們之前,我要在這裡引入一些運行等級知識 ....全部開機進程執行順序如下:
- 運行等級 S:開機進程中的第一個運行等級。/etc/init.d/rcS腳本將被調用到開啟並且/etc/rcS.d目錄下的所有進程將被執行。
- 運行等級 1:單用戶模式。/etc/rc1.d目錄下的所有進程將被執行。
- 運行等級 2,3,4,5:在debian系統裡是多用戶環境,可能不包含圖形用戶界面。同樣的,在相應目錄下的進程將被運行。
- 注意** 這和RedHat,SuSE, 以及其它基於RPM的系統不同。
運行等級 0:關閉計算機
運行等級 6:重起計算機
執行:
sudo sysv-rc-conf
上下鍵可以選擇要變更的服務,<SPACE>鍵可以打溝或取消服務,<q>鍵退出
服務說明可以參考:
- http://ubuntuforums.org/showpost.php?p=487138&postcount=1 (英)
- http://kongjian.baidu.com/lonlywalker/blog/item/b4ef4408809c0b950b7b82ed.html (中文簡體)
微調關機和重新啟動速度
以管理員身份開啟檔案總管:
gksu nautilus
瀏覽到 :
/etc/rc0.d /etc/rc6.d
按下"搜尋"鈕,找: "K"
將所有列出來K開頭的 "K0xxxx" 的大寫"K", 全部改名改成小寫"k"
Firefox 相關: 使用社群版的Firefox
使用PGO編譯與否是Firefox執行速度快慢的關鍵,在Windows版本或其他Linux版本上的Firefox 2.早已經有了PGO,但Ubuntu的Firefox版本到目前為止( 8.10),都還沒有納入PGO優化,因此Firefox在Ubuntu上的執行速度會顯得比Windows的Firefox遲緩。
如果想在Ubuntu上得到Firefox應有的速度,可以考慮使用下列幾個社群版本的Firefox:
Swiftwaesel 3.0.3 PGO : 下載 3.0.3 PGO 版本: (有32-bit和64-bit) http://sourceforge.net/project/showfiles.php?group_id=195473
Frocefox 3.0.3 : Ubuntu台灣社群froce開發的: 預先整合Mplayer、flash、java plugin、PGO (32位元系統專用) http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=11801&forum=7&post_id=60344#forumpost60344
Orangefox 3.0.3 : Moztw 台灣社群開發的優化版Firefox,含PGO編譯, 有AMD64 32-bit版本 http://forum.moztw.org/viewtopic.php?t=23633
安裝方式: 免安裝,解壓縮就好
執行方式: 直接點擊 /解壓縮後資料夾路徑/firefox
建立捷徑 (以swiftweasel為例,假設解壓縮後資料夾放在/opt/)
桌面按右鍵 => 建立啟動圖示
指令: /opt/swiftweasel/swiftweasel
如果測試後覺得滿意,可以讓它成為預設的網頁瀏覽器:
系統=> 偏好設定=> 首選應用程式:
(以swiftweasel為例,假設解壓縮後資料夾放在/opt/)
網頁瀏覽器=>自訂=>指令 : /opt/swiftweasel/swiftweasel
Ubuntu Tweak 個人化設定調校工具
下載: http://www.getdeb.net/app/Ubuntu+Tweak
雙擊滑鼠安裝