從頭開始對ubuntu進行最佳化(轉)

BSDLite發表於2007-08-12
從頭開始對ubuntu進行最佳化(轉)[@more@]在安裝Linux系統之初,就應該考慮怎樣使linux系統得到最好的效能。linux本身也設計成可以良好擴充套件的形態,比如在Linux系統中,我們可以隨心所欲地組織磁碟分割槽,有些朋友喜歡一個/,一個swap就搞定,其實這個不是非常科學的選擇,本人在多次重灌後,總結一些經驗,與各位朋友分享,如果有不對的地方,請務必提出批評。

第一部分 僅有一張硬碟的電腦安裝linux

我在論壇上的最佳化初步一文中提過,linux也是有磁碟碎片的,所以為了減少碎片,應將內容經常改變的目錄放在單獨的分割槽。一個最佳化的分割槽策略,可以很好地改進Linux系統的效能,減少磁碟碎片,提高磁碟I/O能力。從方便備份資料的角度考慮,因為很多備份工具對整個分割槽進行備份的效率很高,所以我們應將Linux系統的幾個主要的目錄作為單獨的檔案系統,為它們各自分配一個區。

這裡簡單介紹下,幾個重要的目錄,這幾個目錄在ubuntu安裝的硬碟分割槽時,可選擇性的特別分割槽,進行掛載。

/usr 檔案系統中一般不改變的檔案,如庫,程式。

/var 檔案系統包含會改變的檔案。

/home 檔案系統包含使用者家目錄,即系統上的所有實際資料。

/tmp 臨時檔案。

/usr/local 這是提供給一般使用者的/usr目錄,在這安裝軟體最適合。

/srv 一些服務起動以後,需要的資料放在這裡。

/opt 一些大型程式,安裝在這裡,方便管理。

/ 根目錄,沒啥說的。

我的建議是以上所有目錄都單獨在硬碟上分割槽,如果要問為什麼,我可以舉個例子。

比如LumaQQ,這個軟體,我們可以把他安裝在/opt下面,這樣我們如果需要重新安裝系統的話,可以選擇不格式化/opt,並且把~/.lumaqq 這個資料夾備份下,這樣當我們重新裝好系統,再次把/opt掛載好,只需要把.lumaqq這個資料夾放在~下,配置好java,執行一個命令:

程式碼:

sudo ln -s /opt/LumaQQ/lumaqq /usr/bin/lumaqq

就可以再次使用lumaqq了,而且聊天記錄等一系列lumaqq相關的設定都不會消失,避免了下載的麻煩,也少了安裝的麻煩。

從磁碟碎片的角度上來講,/tmp、/var和/home都是活動最頻繁的分割槽了,如果我們把它們直接放在根目錄下必然引起處理的麻煩,到時候有了磁碟碎片影響整個磁碟的效能。

因此,我推薦把以上的目錄全部單獨分割槽,單獨掛載。

在分割槽的時候也是有一定的機巧的,根據磁碟的特點,我們知道越是靠磁碟外部的柱面,旋轉越快,而且每次旋轉時,磁碟讀寫頭可以覆蓋較多的區域,也就意味著靠外部的柱面可以得到較好的效能。所以在分割槽時,我們應該考慮將訪問頻率高的,對系統效能影響相對較大的分割槽置於磁碟的靠外部分。最好的方案從外到內應該是:

/boot->swap->/home->/var->/tmp->/srv->/opt->/usr->/usr/local->/

當然,也完全沒必要死守這個規則而對硬碟進行大規模的修改,可以根據目前已有的分割槽進行調整。

另外要說的是,分完以上的區後,千萬別把所有空間都用上,應該留下幾個空的分割槽作為備份用,比如本人的硬碟最後的分割槽是一個高達30g的備份分割槽,上面儲存了我上網下載的各種檔案,自己作的某些東西,而且除了這個分割槽以外,我還有一個10g大的分割槽,並沒有儲存任何東西,僅僅是為了整理磁碟碎片用。

第二部分 有多張硬碟的電腦安裝linux

這裡我們主要採取的方法就是RAID。

首先最好的情況下是使用硬體RAID,效能最強,而且也沒有任何複雜的部分,只要在主機板的bios上設定好了,那麼一切ok。

在不得已而求其次的狀況下,我們使用軟體RAID,那麼我們最好有兩個或者更多一樣大的硬碟分割槽,硬碟的轉速、快取等效能也最好相同,這樣的話,我們就可以得到軟體RAID的最佳效能。

具體的方法,這裡只介紹安裝時的部分,在硬碟分割槽的時候劃分兩個或多個一樣大的分割槽,檔案格式選擇為RAID。然後選擇軟體RAID設定,建立MD裝置,然後在建立好的MD裝置上進行新的分割槽,原則同第一部分。

當然在現實中,很可能我們的硬體並沒有提供我們可以施展RAID的環境,這個時候我們還有最後的方法,就是swap這個分割槽,我們知道虛擬記憶體是很重要的,因此我們可以在兩塊硬碟上分別劃出swap區,然後使用讓他們優先順序相同的技巧增強系統效能。

在/etc/fstab這個檔案中,寫有swap分割槽的那一行,options的部分這樣寫:

程式碼:

sw,pri=5

這樣可以使兩個swap同時執行,對系統效能應當有所補益。

第三部分 對於IDE硬碟的安裝後最佳化

這裡主要談談談關於hdparm的使用,hdparm的某些功能可以透過編譯核心來完成,在論壇上jaquar00是這樣說的,當然我覺得使用這個軟體更加方便,具體的使用方法如下:

首先進行測試:

程式碼:

sudo hdparm -tT 裝置(一般是/dev/hda如果有兩塊硬碟第二塊就是/dev/hdab)

然後進行設定:

程式碼:

sudo hdparm [-icdmXTt]

-i 這個引數 提供一些資訊是由系統的驅動程式判斷出硬碟的效能而得出的

它不一定準確,但是能為我們提供一點幫助。

-c 設定 32-bit 存取模式。這個 32-bit 存取模式指的是在硬體於pc介面 之間的傳輸模式,而影碟本是依照 16-bit 在運轉

-d 設定是否啟用DMA模式 -d1 啟動 -d0 關閉

-m 設定同步讀取多個 sector 的模式。一般來說,設定此模式,可降低因為 讀取磁碟而損失的效能,16/32為最佳化,具體數字請根據 -i 得出的 資訊中MaxMultSect來設定。

-X 設定 UtraDMA 的模式。一般來說,UDMA 的模式值加64就可以了。但是現 在的電腦普遍效能強勁,在這裡請參考自己的電腦配置。

33 MHz DMA mode 0~2 (X64~X66)

66 MHz DMA mode 3~4 (X67~X68)

100 MHz DMA mode 5 (X69)

如果你的硬碟上面顯示的UATA 100以上的,那麼 X69 也許不錯

-T 測試暫存區的存取效能。

-t 測試影碟實際的存取效能。

看清以上引數後,設定的具體方法我用例子說明,在我的電腦上我是這樣作的:

程式碼:

sudo hdparm -X69 -d1 -u1 -m16 -c3 /dev/hda

完成後,再次測試。最後如果效果有所提升,那麼就使用一下命令進行儲存:

程式碼:

sudo hdparm -k1 裝置

論壇上的jaquar00朋友,幫我補充了用

程式碼:

lspci -v | grep 'IDE'

這條命令查詢你的硬碟支援那種方式,但是非常奇怪,該命令在我的電腦上什麼都看不出來,全是unknow,不過也許對其他朋友能有所幫助。

第四部分 對於磁碟碎片的處理方法

關於磁碟碎片的問題,我已經查詢了很多資料,可以確定的是,linux的檔案系統非常優秀,碎片化問題很小,而且linux核心本身具備了相應的預防措施,即空間足夠大的情況下,對已有檔案塊不再進行寫操作等,這使linux產生了越用越整齊的說法,但是無法得知這樣的說法究竟是否屬實,所以我這裡介紹另外一種比較麻煩的方法,即格式化重寫法。

在使用這樣的方法時,必須要有一個空間足夠容納要整理的硬碟的檔案的空閒分割槽,

在需要格式化的時候,將所有要整理硬碟的檔案移到這個分割槽,然後將原有硬碟格式化,再把所有檔案移回去,這種方法看似瘋狂,但是連續的寫可以避免磁碟碎片,也許某天一些朋友會考慮使用這種方法。

第五部分 對於不同處理器的最佳化

intel處理器請使用i686核心

程式碼:

sudo apt-get install linux-i686

amd處理器請使用k7核心

程式碼:

sudo apt-get install linux-k7

第六部分 對於筆記本、桌上型電腦等非伺服器的系統服務最佳化

linux的各大發行版,都有些不必要的服務被預設開啟了,針對ubuntu,我們可以採用選擇性關閉的方法加速起動,提高系統效能。

這裡我們安裝一個軟體:

程式碼:

sudo apt-get install sysv-rc-conf

然後這樣起動:

程式碼:

sudo sysv-rc-conf

在這個軟體裡,可以用鍵盤的方向鍵移動,用空格選取,也可以直接用滑鼠選取,最後用q儲存退出,一下列出服務的名稱和基本的解釋。

程式碼:

acpi-support 這個是關於電源支援的預設是1,2,3,4,5下啟動,我認為你可以把它調整到s級別。

acpid acpi的守護程式,預設是2-5開啟,我認為可以不用管。

alsa alsa聲音子系統,應該不用開啟它。

alsa-utils 這個服務似乎取代了alsa,所以開啟這個就可以了,我在S級別開啟它。

anacron 這是一個用於執行到時間沒有執行的程式的服務,我認為它無所謂,所以關了它,這個可以隨便。

apmd 也是一種電源管理,我認為電腦如果不是很老,它就沒有開啟的必要了。

atd 和anacron類似,我把它關了。

bluez-utiles 傳說中的藍芽服務,然後遺憾我沒有,所以關了。

bootlogd 似乎使用來寫log的,安全期間開著他也許比較好。

cron 指定時間執行程式的服務,所以開著比較好的。

cupsys 印表機服務,所以如果你有,就開啟吧。

dbus 訊息匯流排系統,非常重要,一定要開。

dns-clean 撥號連線用的,如果不用,就關了它。

evms 企業卷管理系統,由於我並不明白什麼叫做企業卷,所以我關了它。

fetchmail 用於郵件守護,我關了它。

gdm gnome桌面管理器,我關了它,然後用startx啟動gnome。

halt 關機用的,不要更改

hdparm 這個我剛才有講,如果沒有ide硬碟也就不用開啟它了。

hotkey-setup 這個是給某些品牌筆記本設計的熱鍵對映,桌上型電腦使用者請關了它

hotplug 這個是用於熱插拔的,我已經測試過了,在某些電腦上關閉它會使音效卡無效,請在S級別開啟它。

hplip hp印表機專用的,應該可以關了它。

ifrename 網路介面重新命名,好像沒用,關了。

ifupdown 這個使用來開啟網路的,開著它。

ifupdown-clean 同上。

klogd linux守護程式,接受來自核心和傳送資訊到syslogd的記錄,並記錄為一個檔案,所以請開著它。

linux-restricted-modules-common 這個使用來使用受限制的模組的,你可以從/lib/linux-restricted-modules下檢視,如果沒有什麼,你可以關掉它。

lvm 邏輯卷管理器,如果你沒有請關了它。

makedev 用來建立裝置到/dev/請不要動他。

mdamd 管理raid用,如果你沒有請關閉它。

module-init-tools 從/etc/modules 加在擴充套件模組的,這個一般開著。

networking 增加網路介面和配置dns用,將它開啟。

ntp-server 與ubuntu時間伺服器進行同步的,關了。

pcmcia 啟用pcmica裝置,遺憾我有生以來都沒有見過這樣的裝置,關了它。

powernowd 用於管理cpu的客戶端程式,如果有變頻功能,比如amd的quite' cool 那麼就開啟它吧。

ppp 撥號用的,我關了它。

ppp-dns 一樣,也關了。

readahead 預載入服務,讓我想起了win的預讀,當然他們不同,它會使啟動變慢3-4妙,所以我關了它。

reboot 重啟用的,不要動。

rmnologin 如果發現nologin,就去除它,在筆記本上不用開啟。

rsync rsync協議守護,請視情況而定。

screen-cleanup 一個清除開機螢幕的指令碼,隨便。

sendsigs 重啟和關機時向所有程式傳送訊息。所以不要管它。

single 啟用但使用者模式,不用管它。

stop-bootlogd 從2,3,4,5級別停止bootlogd,不用管它。

sudo 這個不用說吧,不用管它。

sysklogd 用於記錄系統日誌資訊,不用管它。

udev 使用者空間dev檔案系統,不用管它。

udev-mab 同上。

umountfs 用來解除安裝檔案卷的,不用管它。

urandom 生成隨即數的,不知道怎麼用,不用管它。

usplash 那個漂亮的啟動畫面,但是我關了它,它也存在,所以想關他需要把核心起動引數中的splash一句刪掉。

vbesave 顯示卡bios配置工具,不用管它。

xorg-common 設定x服務ice socket。不用管它。

第七部分 對於桌面環境的最佳化

在上次的文章中,我把gnome叫做wm,這顯然是一個錯誤,謝謝jaquar00的提醒,那麼這次我稱它為桌面環境,它是影響效能的大戶,某些朋友的電腦不夠強勁,也許需要對它作出調整。

首先推薦使用輕量級的桌面環境xfce4,或者一些wm,比如fvwm、iceWM。關於這三個軟體的使寐厶稱淥?爛姘婷嬗兄枚ヌ?晗杆得髑氬慰跡?

xfce4:

fvmw:

iceWM:

然後對於想使用gnome,而對美化要求比較低的朋友,我又一些建議:

1 不使用螢幕保護程式

無論有沒有使用,螢幕保護程式都會耗費cpu資源,因為後臺的計時器會一直檢查系統是否空閒,並對螢幕保護程式啟用的時間進行倒數計時。如果要暫時離開座位,請使用鎖住螢幕。

2 降低顏色設定

出於健康的目的,解析度請達到1024*768,重新整理率如果不是LCD顯示器,請務必使用85Hz,而顏色如果沒有太高的要求,請使用16位增強色。

3 去除牆紙

如果對美化沒有任何要求,完全可以這樣作。

4 清理桌面

清理桌面圖表可以減少螢幕需要不斷重新整理的顏色。把不需要的圖表刪除,一些常用連結全部移動到自己建立的某個資料夾裡。

5 關閉gnome的預覽行為

在檔案管理首選裡,預覽的預設行為是僅本地,如果認為沒有必要請關掉它。

6 關於主題

前不久我自己編譯安裝了新的gtk和cairo,它非常漂亮,但同時非常慢,所以各位朋友要小心利用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-950727/,如需轉載,請註明出處,否則將追究法律責任。

相關文章