歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux基礎知識

對Ubuntu操作系統進行徹底優化

在安裝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: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

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

    1 不使用屏幕保護程序

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

    2 降低顏色設定

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

    3 去除牆紙

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

    4 清理桌面

    清理桌面圖表可以減少屏幕需要不斷刷新的顏色。把不需要的圖表刪除,一些常用鏈接全部移動到自己創建的某個文件夾裡。

    5 關閉gnome的預覽行為

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

    6 關於主題

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

    第七部分 結語

    本文是在論壇上發表的新手優化ubuntu基本教程整理後所得的,我想要聲明的是一切的優化行為在不能良好運用的情況下,都是有風險的,zxshen朋友就因為在上篇文章的引誘下,設置出錯無法出聲,請各位朋友三思而後行,錯誤之處請務必指出,我一定誠心接受批評。

Copyright © Linux教程網 All Rights Reserved