在安裝Linux系統(tǒng)之初,就應(yīng)該考慮怎樣使Linux系統(tǒng)得到最好的性能。Linux本身也設(shè)計(jì)成可以良好擴(kuò)展的形態(tài),比如在Linux系統(tǒng)中,我們可 以隨心所欲地組織磁盤分區(qū),有些朋友喜歡一個(gè)/,一個(gè)swap就搞定,其實(shí)這個(gè)不是非??茖W(xué)的選擇,本人在多次重裝后,總結(jié)一些經(jīng)驗(yàn),與各位朋友分享,如 果有不對(duì)的地方,請(qǐng)務(wù)必提出批評(píng)。
第一部分 僅有一張硬盤的電腦安裝Linux
我在論壇上的優(yōu)化 初步一文中提過,Linux也是有磁盤碎片的,所以為了減少碎片,應(yīng)將內(nèi)容經(jīng)常改變的目錄放在單獨(dú)的分區(qū)。一個(gè)優(yōu)化的分區(qū)策略,可以很好地改進(jìn)Linux 系統(tǒng)的性能,減少磁盤碎片,提高磁盤I/O能力。從方便備份數(shù)據(jù)的角度考慮,因?yàn)楹芏鄠浞莨ぞ邔?duì)整個(gè)分區(qū)進(jìn)行備份的效率很高,所以我們應(yīng)將Linux系統(tǒng) 的幾個(gè)主要的目錄作為單獨(dú)的文件系統(tǒng),為它們各自分配一個(gè)區(qū)。
這里簡單介紹下,幾個(gè)重要的目錄,這幾個(gè)目錄在ubuntu安裝的硬盤分區(qū)時(shí),可選擇性的特別分區(qū),進(jìn)行掛載。
/usr 文件系統(tǒng)中一般不改變的文件,如庫,程序。
/var 文件系統(tǒng)包含會(huì)改變的文件。
/home 文件系統(tǒng)包含用戶家目錄,即系統(tǒng)上的所有實(shí)際數(shù)據(jù)。
/tmp 臨時(shí)文件。
/usr/local 這是提供給一般用戶的/usr目錄,在這安裝軟件最適合。
/srv 一些服務(wù)起動(dòng)以后,需要的數(shù)據(jù)放在這里。
/opt 一些大型程序,安裝在這里,方便管理。
/ 根目錄,沒啥說的。
我的建議是以上所有目錄都單獨(dú)在硬盤上分區(qū),如果要問為什么,我可以舉個(gè)例子。
比如LumaQQ,這個(gè)軟件,我們可以把他安裝在/opt下面,這樣我們?nèi)绻枰匦掳惭b系統(tǒng)的話,可以選擇不格式化/opt,并且把 ~/.lumaqq 這個(gè)文件夾備份下,這樣當(dāng)我們重新裝好系統(tǒng),再次把/opt掛載好,只需要把.lumaqq這個(gè)文件夾放在~下,配置好java,運(yùn) 行一個(gè)命令:
代碼:
sudo ln -s /opt/LumaQQ/lumaqq /usr/bin/lumaqq
就可以再次使用lumaqq了,而且聊天記錄等一系列l(wèi)umaqq相關(guān)的設(shè)置都不會(huì)消失,避免了下載的麻煩,也少了安裝的麻煩。
從磁盤碎片的角度上來講,/tmp、/var和/home都是活動(dòng)最頻繁的分區(qū)了,如果我們把它們直接放在根目錄下必然引起處理的麻煩,到時(shí)候有了磁盤碎片影響整個(gè)磁盤的性能。
因此,我推薦把以上的目錄全部單獨(dú)分區(qū),單獨(dú)掛載。
在分區(qū)的時(shí)候也是有一定的機(jī)巧的,根據(jù)磁盤的特點(diǎn),我們知道越是靠磁盤外部的柱面,旋轉(zhuǎn)越快,而且每次旋轉(zhuǎn)時(shí),磁盤讀寫頭可以覆蓋較多的區(qū)域,也就意味著 靠外部的柱面可以得到較好的性能。所以在分區(qū)時(shí),我們應(yīng)該考慮將訪問頻率高的,對(duì)系統(tǒng)性能影響相對(duì)較大的分區(qū)置于磁盤的靠外部分。最好的方案從外到內(nèi)應(yīng)該 是:
/boot->swap->/home->/var->/tmp->/srv->/opt->/usr->/usr/local->/
當(dāng)然,也完全沒必要死守這個(gè)規(guī)則而對(duì)硬盤進(jìn)行大規(guī)模的修改,可以根據(jù)目前已有的分區(qū)進(jìn)行調(diào)整。
另外要說的是,分完以上的區(qū)后,千萬別把所有空間都用上,應(yīng)該留下幾個(gè)空的分區(qū)作為備份用,比如本人的硬盤最后的分區(qū)是一個(gè)高達(dá)30g的備份分區(qū),上面儲(chǔ) 存了我上網(wǎng)下載的各種文件,自己作的某些東西,而且除了這個(gè)分區(qū)以外,我還有一個(gè)10g大的分區(qū),并沒有儲(chǔ)存任何東西,僅僅是為了整理磁盤碎片用。
第二部分 有多張硬盤的電腦安裝Linux
這里我們主要采取的方法就是RAID。
首先最好的情況下是使用硬件RAID,性能最強(qiáng),而且也沒有任何復(fù)雜的部分,只要在主板的bios上設(shè)置好了,那么一切ok。
在不得已而求其次的狀況下,我們使用軟件RAID,那么我們最好有兩個(gè)或者更多一樣大的硬盤分區(qū),硬盤的轉(zhuǎn)速、緩存等性能也最好相同,這樣的話,我們就可以得到軟件RAID的最佳性能。
具體的方法,這里只介紹安裝時(shí)的部分,在硬盤分區(qū)的時(shí)候劃分兩個(gè)或多個(gè)一樣大的分區(qū),文件格式選擇為RAID。然后選擇軟件RAID設(shè)置,創(chuàng)建MD設(shè)備,然后在創(chuàng)建好的MD設(shè)備上進(jìn)行新的分區(qū),原則同第一部分。
當(dāng)然在現(xiàn)實(shí)中,很可能我們的硬件并沒有提供我們可以施展RAID的環(huán)境,這個(gè)時(shí)候我們還有最后的方法,就是swap這個(gè)分區(qū),我們知道虛擬內(nèi)存是很重要的,因此我們可以在兩塊硬盤上分別劃出swap區(qū),然后使用讓他們優(yōu)先級(jí)相同的技巧增強(qiáng)系統(tǒng)性能。
在/etc/fstab這個(gè)文件中,寫有swap分區(qū)的那一行,options的部分這樣寫:
代碼:
sw,pri=5
這樣可以使兩個(gè)swap同時(shí)運(yùn)行,對(duì)系統(tǒng)性能應(yīng)當(dāng)有所補(bǔ)益。
第三部分 對(duì)于IDE硬盤的安裝后優(yōu)化
這里主要談?wù)務(wù)勱P(guān)于hdparm的使用,hdparm的某些功能可以通過編譯內(nèi)核來完成,在論壇上jaquar00是這樣說的,當(dāng)然我覺得使用這個(gè)軟件更加方便,具體的使用方法如下:
首先進(jìn)行測(cè)試:
代碼:
sudo hdparm -tT 設(shè)備(一般是/dev/hda如果有兩塊硬盤第二塊就是/dev/hdab)
然后進(jìn)行設(shè)置:
代碼:
sudo hdparm [-icdmXTt]
-i 這個(gè)參數(shù) 提供一些信息是由系統(tǒng)的驅(qū)動(dòng)程序判斷出硬盤的性能而得出的
它不一定準(zhǔn)確,但是能為我們提供一點(diǎn)幫助。
-c 設(shè)定 32-bit 存取模式。這個(gè) 32-bit 存取模式指的是在硬件于pc界面 之間的傳輸模式,而影碟本是依照 16-bit 在運(yùn)轉(zhuǎn)
-d 設(shè)定是否啟用DMA模式 -d1 啟動(dòng) -d0 關(guān)閉
-m 設(shè)定同步讀取多個(gè) sector 的模式。一般來說,設(shè)定此模式,可降低因?yàn)?讀取磁碟而損失的效能,16/32為最佳化,具體數(shù)字請(qǐng)根據(jù) -i 得出的 信息中MaxMultSect來設(shè)定。
-X 設(shè)定 UtraDMA 的模式。一般來說,UDMA 的模式值加64就可以了。但是現(xiàn) 在的電腦普遍性能強(qiáng)勁,在這里請(qǐng)參考自己的電腦配置。
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 也許不錯(cuò)
-T 測(cè)試暫存區(qū)的存取效能。
-t 測(cè)試影碟實(shí)際的存取效能。
看清以上參數(shù)后,設(shè)置的具體方法我用例子說明,在我的電腦上我是這樣作的:
代碼:
sudo hdparm -X69 -d1 -u1 -m16 -c3 /dev/hda
完成后,再次測(cè)試。最后如果效果有所提升,那么就使用一下命令進(jìn)行保存:
代碼:
sudo hdparm -k1 設(shè)備
論壇上的jaquar00朋友,幫我補(bǔ)充了用
代碼:
lspci -v | grep ’IDE’
這條命令查詢你的硬盤支持那種方式,但是非常奇怪,該命令在我的電腦上什么都看不出來,全是unknow,不過也許對(duì)其他朋友能有所幫助。
第四部分 對(duì)于磁盤碎片的處理方法
關(guān)于磁盤碎片的問題,我已經(jīng)查找了很多資料,可以確定的是,Linux的文件系統(tǒng)非 常優(yōu)秀,碎片化問題很小,而且Linux內(nèi)核本身具備了相應(yīng)的預(yù)防措施,即空間足夠大的情況下,對(duì)已有文件塊不再進(jìn)行寫操作等,這使Linux產(chǎn)生了越用 越整齊的說法,但是無法得知這樣的說法究竟是否屬實(shí),所以我這里介紹另外一種比較麻煩的方法,即格式化重寫法。
在使用這樣的方法時(shí),必須要有一個(gè)空間足夠容納要整理的硬盤的文件的空閑分區(qū),
在需要格式化的時(shí)候,將所有要整理硬盤的文件移到這個(gè)分區(qū),然后將原有硬盤格式化,再把所有文件移回去,這種方法看似瘋狂,但是連續(xù)的寫可以避免磁盤碎片,也許某天一些朋友會(huì)考慮使用這種方法。
第五部分 對(duì)于不同處理器的優(yōu)化
intel處理器請(qǐng)使用i686內(nèi)核
代碼:
sudo apt-get install Linux-i686
amd處理器請(qǐng)使用k7內(nèi)核
代碼:
sudo apt-get install Linux-k7
Linux的各大發(fā)行版,都有些不必要的服務(wù)被默認(rèn)開啟了,針對(duì)ubuntu,我們可以采用選擇性關(guān)閉的方法加速起動(dòng),提高系統(tǒng)性能。
這里我們安裝一個(gè)軟件:
代碼:
sudo apt-get install sysv-rc-conf
然后這樣起動(dòng):
代碼:
sudo sysv-rc-conf
在這個(gè)軟件里,可以用鍵盤的方向鍵移動(dòng),用空格選取,也可以直接用鼠標(biāo)選取,最后用q保存退出,一下列出服務(wù)的名稱和基本的解釋。
代碼:
acpi-support 這個(gè)是關(guān)于電源支持的默認(rèn)是1,2,3,4,5下啟動(dòng),我認(rèn)為你可以把它調(diào)整到s級(jí)別。
acpid acpi的守護(hù)程序,默認(rèn)是2-5開啟,我認(rèn)為可以不用管。
alsa alsa聲音子系統(tǒng),應(yīng)該不用開啟它。
alsa-utils 這個(gè)服務(wù)似乎取代了alsa,所以開啟這個(gè)就可以了,我在S級(jí)別開啟它。
anacron 這是一個(gè)用于執(zhí)行到時(shí)間沒有執(zhí)行的程序的服務(wù),我認(rèn)為它無所謂,所以關(guān)了它,這個(gè)可以隨便。
apmd 也是一種電源管理,我認(rèn)為電腦如果不是很老,它就沒有開啟的必要了。
atd 和anacron類似,我把它關(guān)了。
bluez-utiles 傳說中的藍(lán)牙服務(wù),然后遺憾我沒有,所以關(guān)了。
bootlogd 似乎使用來寫log的,安全期間開著他也許比較好。
cron 指定時(shí)間運(yùn)行程序的服務(wù),所以開著比較好的。
cupsys 打印機(jī)服務(wù),所以如果你有,就開啟吧。
dbus 消息總線系統(tǒng),非常重要,一定要開。
dns-clean 撥號(hào)連接用的,如果不用,就關(guān)了它。
evms 企業(yè)卷管理系統(tǒng),由于我并不明白什么叫做企業(yè)卷,所以我關(guān)了它。
fetchmail 用于郵件守護(hù),我關(guān)了它。
gdm gnome桌面管理器,我關(guān)了它,然后用startx啟動(dòng)gnome。
halt 關(guān)機(jī)用的,不要更改
hdparm 這個(gè)我剛才有講,如果沒有ide硬盤也就不用開啟它了。
hotkey-setup 這個(gè)是給某些品牌筆記本設(shè)計(jì)的熱鍵映射,臺(tái)式機(jī)用戶請(qǐng)關(guān)了它
hotplug 這個(gè)是用于熱插拔的,我已經(jīng)測(cè)試過了,在某些電腦上關(guān)閉它會(huì)使聲卡無效,請(qǐng)?jiān)赟級(jí)別開啟它。
hplip hp打印機(jī)專用的,應(yīng)該可以關(guān)了它。
ifrename 網(wǎng)絡(luò)接口重命名,好像沒用,關(guān)了。
ifupdown 這個(gè)使用來打開網(wǎng)絡(luò)的,開著它。
ifupdown-clean 同上。
klogd Linux守護(hù)程序,接受來自內(nèi)核和發(fā)送信息到syslogd的記錄,并記錄為一個(gè)文件,所以請(qǐng)開著它。
Linux-restricted-modules-common 這個(gè)使用來使用受限制的模塊的,你可以從/lib/Linux-restricted-modules下查看,如果沒有什么,你可以關(guān)掉它。
lvm 邏輯卷管理器,如果你沒有請(qǐng)關(guān)了它。
makedev 用來創(chuàng)建設(shè)備到/dev/請(qǐng)不要?jiǎng)铀?br>
mdamd 管理raid用,如果你沒有請(qǐng)關(guān)閉它。
module-init-tools 從/etc/modules 加在擴(kuò)展模塊的,這個(gè)一般開著。
networking 增加網(wǎng)絡(luò)接口和配置dns用,將它開啟。
ntp-server 與ubuntu時(shí)間服務(wù)器進(jìn)行同步的,關(guān)了。
pcmcia 激活pcmica設(shè)備,遺憾我有生以來都沒有見過這樣的設(shè)備,關(guān)了它。
powernowd 用于管理cpu的客戶端程序,如果有變頻功能,比如amd的quite’ cool 那么就開啟它吧。
ppp 撥號(hào)用的,我關(guān)了它。
ppp-dns 一樣,也關(guān)了。
readahead 預(yù)加載服務(wù),讓我想起了win的預(yù)讀,當(dāng)然他們不同,它會(huì)使啟動(dòng)變慢3-4妙,所以我關(guān)了它。
reboot 重啟用的,不要?jiǎng)印?br>
rmnologin 如果發(fā)現(xiàn)nologin,就去除它,在筆記本上不用開啟。
rsync rsync協(xié)議守護(hù),請(qǐng)視情況而定。
screen-cleanup 一個(gè)清除開機(jī)屏幕的腳本,隨便。
sendsigs 重啟和關(guān)機(jī)時(shí)向所有進(jìn)程發(fā)送消息。所以不要管它。
single 激活但用戶模式,不用管它。
stop-bootlogd 從2,3,4,5級(jí)別停止bootlogd,不用管它。
sudo 這個(gè)不用說吧,不用管它。
sysklogd 用于記錄系統(tǒng)日志信息,不用管它。
udev 用戶空間dev文件系統(tǒng),不用管它。
udev-mab 同上。
umountfs 用來卸載文件卷的,不用管它。
urandom 生成隨即數(shù)的,不知道怎么用,不用管它。
usplash 那個(gè)漂亮的啟動(dòng)畫面,但是我關(guān)了它,它也存在,所以想關(guān)他需要把內(nèi)核起動(dòng)參數(shù)中的splash一句刪掉。
vbesave 顯卡bios配置工具,不用管它。
xorg-common 設(shè)置x服務(wù)ice socket。不用管它。
第六部分 對(duì)于桌面環(huán)境的優(yōu)化
在上次的文章中,我把gnome叫做wm,這顯然是一個(gè)錯(cuò)誤,謝謝jaquar00的提醒,那么這次我稱它為桌面環(huán)境,它是影響性能的大戶,某些朋友的電腦不夠強(qiáng)勁,也許需要對(duì)它作出調(diào)整。
首先推薦使用輕量級(jí)的桌面環(huán)境xfce4,或者一些wm,比如fvwm、iceWM。關(guān)于這三個(gè)軟件的使用論壇其他桌面版面有置頂貼詳細(xì)說明請(qǐng)參考:
xfce4:http://forum.ubuntu.org.cn/viewtopic.php?t=1160
fvmw: http://forum.ubuntu.org.cn/viewtopic.php?t=1662
iceWM:http://forum.ubuntu.org.cn/viewtopic.php?t=1159
然后對(duì)于想使用gnome,而對(duì)美化要求比較低的朋友,我又一些建議:
1 不使用屏幕保護(hù)程序
無論有沒有使用,屏幕保護(hù)程序都會(huì)耗費(fèi)cpu資源,因?yàn)楹笈_(tái)的計(jì)時(shí)器會(huì)一直檢查系統(tǒng)是否空閑,并對(duì)屏幕保護(hù)程序激活的時(shí)間進(jìn)行倒計(jì)時(shí)。如果要暫時(shí)離開座位,請(qǐng)使用鎖住屏幕。
2 降低顏色設(shè)定
出于健康的目的,分辨率請(qǐng)達(dá)到1024*768,刷新率如果不是LCD顯示器,請(qǐng)務(wù)必使用85Hz,而顏色如果沒有太高的要求,請(qǐng)使用16位增強(qiáng)色。
3 去除墻紙
如果對(duì)美化沒有任何要求,完全可以這樣作。
4 清理桌面
清理桌面圖表可以減少屏幕需要不斷刷新的顏色。把不需要的圖表刪除,一些常用鏈接全部移動(dòng)到自己創(chuàng)建的某個(gè)文件夾里。
5 關(guān)閉gnome的預(yù)覽行為
在文件管理首選里,預(yù)覽的默認(rèn)行為是僅本地,如果認(rèn)為沒有必要請(qǐng)關(guān)掉它。
6 關(guān)于主題
前不久我自己編譯安裝了新的gtk和cairo,它非常漂亮,但同時(shí)非常慢,所以各位朋友要小心利用。
第七部分 結(jié)語
本文是在論壇上發(fā)表的新手優(yōu)化ubuntu基本教程整理后所得的,我想要聲明的是一切的優(yōu)化行為在不能良好運(yùn)用的情況下,都是有風(fēng)險(xiǎn)的,zxshen朋友 就因?yàn)樵谏掀恼碌囊T下,設(shè)置出錯(cuò)無法出聲,請(qǐng)各位朋友三思而后行,錯(cuò)誤之處請(qǐng)務(wù)必指出,我一定誠心接受批評(píng)。