方法來自這篇文章 Feisty Performance - “Fly Like A Butterfly” (中文翻譯),作者總結了很多關於優化和加速 Feisty的方法。按照下面的方法來做,到底有沒有實際效果,就得大家試了才知道,至少我使用後,發現啟動速度有了很大的提高。
注意:以下部分步驟如果修改錯誤,會導致系統無法啟動,所以需要認真一點。
1、禁用 IPv6
目前 IPv6 還沒有到來,Ubuntu 這個超前的功能暫時可以屏蔽掉,以加快速度。
編輯 sudo gedit /etc/modprobe.d/aliases,把:
alias net-pf-10 ipv6
修改為
alias net-pf-10 off #ipv6
2、並行運行開機啟動腳本
/etc/init.d/ 下面的都是啟動腳本,默認這些腳本是按順序啟動的,實際上,如果你使用的是 SATA 或 SCSI 接口,可以並行啟動這些腳本程序,加速啟動過程。
使用 vi 編輯 sudo vi /etc/init.d/rc,把:
CONCURRENCY=none
修改為
CONCURRENCY=shell
3、將 localhost 化名為主機名
據說這個方法可以改善使用 Ubuntu 一段後,在 GNOME 中啟動應用程序變慢的問題。
編輯 sudo gedit /etc/hosts,把:
127.0.0.1 localhost
127.0.1.1 Ubuntu
在第一行末尾加上主機名,也就是第二行的那個名字。
127.0.0.1 localhost Ubuntu
127.0.1.1 Ubuntu
4、禁用 Pango
Pango 是一個著重於國際化的,用於輸出和文本渲染的庫,但是這個庫可能導致 Firefox 等一些程序占用過高的 CPU,所以我們可以禁用它。這樣可以很好的降低CPU的使用率。
編輯 sudo gedit /etc/environment,添加:
MOZ_DISABLE_PANGO="1"
5、禁用 gettys
打開 sudo gedit /etc/event.d/tty3,把所有以 start 開頭的行,用 # 注釋掉
6、安裝 preload
可以把一些常用到的 lib 庫和應用程序預加載到內存,以提高程序的啟動速度。
sudo apt-get install preload
7、設置 swappiness
減少系統對於 swap 頻繁的寫入,將加快應用程序之間的切換,有助於提升系統性能。
系統默認為 60,你可以修改為 10:
sudo sysctl vm.swappiness=10
如果要讓它開機自動設定,編輯 sudo gedit /etc/sysctl.conf 文件,加入:
vm.swappiness=10
8、使用 grub 的 profile 選項
grub 有個叫做 profile 的選項,它是一種系統啟動時所要讀取的所有的文件的索引,這樣使得隨後系統查找並且讀取這些文件的速度就會加快。
在開機進入 grub 畫面時按 esc 鍵,然後找到需要啟動的內核,按 e 鍵,編輯啟動參數,在後面加入 profile 後再按 b 進行啟動。設置後,第一次開機需要建立索引,所以開機速度會慢一點,以後每次更新內核都需要這麼做。
9、使用 sysv-rc-conf 關閉不必要的服務.
具體方法,請參考這裡。
#############################################3
將localhost化名為主機名,編輯hosts文件,把127.0.0.1等於localhost和本機名寫到一行中,比如:
127.0.0.1 localhost
127.0.1.1 fwolf_pcname
==> 變成
127.0.0.1 localhost fwolf_pcname
禁用ipv6,編輯/etc/modprobe.d/aliases:
alias net-pf-10 ipv6
==>
alias net-pf-10 off #ipv6
並行運行開機啟動腳本,編輯/etc/init.d/rc:
CONCURRENCY=none
==>
CONCURRENCY=shell
但據說這種方法可能會造成啟動問題,慎用,建議多核cpu才使用。
禁用Pango的輸出和文本渲染,主要針對mozilla和firefox,可能會導致cpu占用過高。編輯/etc/environment,添加一行:
MOZ_DISABLE_PANGO="1"
關閉之後明顯感覺到firefox的顯示速度變快了,但顯示形式也有了一些變化,比如<th>、網頁標題的黑體字現在能體現了,但也感覺字體渲染略微“模糊”了一點點。
安裝preload,它可以把一些常用到的庫文件預加載到內存,用部分內存空間換取應用程序啟動速度的提升。另外注意,prelink從Feisty 7.04起就沒用了:
sudo apt-get install preload
禁用多余的虛擬終端,編輯/etc/inittab,把getty部分只留一個就可以了:
1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
Ctrl+Alt+F2-F6就沒東西了,F1是我們保留的終端,用於應急處理,F7就是正常的圖形環境啦。
注:有些情況下這樣好像不行,還要編輯/etc/event.d/tty2,把start開頭的兩行都注釋掉,3456都如法炮制,依然只保留1,再用熱鍵切換過去就是空空的一個提示符了。
調整hdparm加速硬盤,編輯/etc/hdparm.conf,參考內容如下:
/dev/sda {
dma = on
io32_support = 1
mult_sect_io = 32
}
對於內存充足的機器減少對swap的使用,編輯/etc/sysctl.conf,添加:
vm.swappiness=10
這個數值的默認值為60,越小對swap的寫入可能就越小,有網友說1G內存調整為5感覺最合適,建議至少512M內存以上再調整這個數值,設為0的話就幾乎等於不實用swap了。
使用LVM,但暫時沒有進一步的資料。
用bootchart協助,優化系統啟動過程,對耗時較多的過程進行優化。
使用bum關閉掉不需要的服務,不推薦用sysv-rc-conf的原因是bum對服務、進程有比較詳細的解釋說明。
如果fstab中掛有外部磁盤,啟動時不需要檢測,可以把pass設置為0(fstab中最後一列)。如果在安裝系統時就選用更合理的分區方案、分區類型(比如XFS)效果更佳。
現在應該都在用6.10Edgy之後的發行版了,如果是486機器,請選用386內核;P4以後的機器,包括同期的AMD,請選用generic內核;服務器請選用linux-server內核,會有一點點的性能提升,maybe。參考Difference between linux-generic, linux-386。
用deborphan刪除不用的庫文件:
sudo deborphan | xargs sudo apt-get -y remove --purge