第一部分 僅有一張硬盤的電腦安裝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ū)。
這里簡(jiǎn)單介紹下,幾個(gè)重要的目錄,這幾個(gè)目錄在ubuntu安裝的硬盤分區(qū)時(shí),可選擇性的特別分區(qū),進(jìn)行掛載。
/usr 文件系統(tǒng)中一般不改變的文件,如庫(kù),程序。
/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ì)其他朋友能有所幫助。