熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Linux 系統的優化和微調

2013-11-13 12:47:37  來源: Oracle 

  針對系統的優化工作需要根據不同的系統采用不同的辦法本文旨在描述通用的優化 Linux 的一些辦法
  
  一編譯選項
  
  當我們采用 O 來編譯程序時或許文件字節數是最大的但是往往其運行速度也是最快的
  
  根據不同的機器架構你可以把下面的語句加入 /etc/profile
  
  i:
  
  export CFLAGS=O funrollloops ffastmath maligndouble mcpu=pentiumpro march=pentiumpro fomitframepointer fnoexceptions
  
  
  i:
  
  export CFLAGS=O march=pentium mcpu=pentium ffastmath funrollloops fomitframepointer fforcemem fforceaddr maligndouble fnoexceptions
  
  
  i:
  
  FLAGS=O funrollallloops maligndouble mcpu=i march=i fomitframepointer fnoexceptions
  
  
  另外安裝程序時使用 tarball 格式總要比 RPM 格式來得好因為 tarball 需要重新編譯能針對你的機器架構作優化得到最好的性能這也是本站下載中心提供的都是 targz 格式的原因吧!
  
  
  二重新編譯內核
  
  一般的 Linux 發行商發布的 Linux 版本其內核總是會帶有一些對你來說不是很實用的東西例如對無線火腿(HAM Radio)的支持對 Token Ring 的支持等
  
  
  如果對自己編譯感到怯生生的話可以查看下面的兩個網站的資料
  
  Linux Kernel Howto: /HOWTO/l
  
  Linux Kernel :
  
  經過三次失敗的編譯後你就能成功編譯自己需要的內核了失敗是成功之母麼!
  三停止不使用的服務
  
  Sendmail httpd crond kudzu mysql portmap postgresql smb snortd webmin inetd (或者 xinetd) 等都是很棒的程序但是如果你不會使用他們干嗎要讓他們占用您寶貴的資源呢?而且這些程序都會帶來安全隱患一般說來一套干淨的 Linux 系統只需要gpm network syslog ssh 和 xfs如果臨時有需要就手工啟動好了這些啟動腳本一般都在 /etc/rcd/initd 目錄下
  
  
  檢查自己的機器上使用中的服務可以采用 nmap 工具掃描
  
  
  []$ nmap p
  
  Starting nmap V BETA ( /nmap/ )
  
  Interesting ports on ():
  
  (The ports scanned but not shown below are in state: closed)
  
  Edited version of the output due to space considerations
  
  Port State Service
  
  
  
  /tcp open shell
  
  /tcp open listen
  
  /tcp open unknown
  
  /tcp open unknown
  
  
  
  
  檢查特定端口上正在運行的程序名可以采用
  
  
  [ /root]# netstat anp|more
  
  
  Active Internet connections (servers and established)
  
  Proto RecvQ SendQ Local Address Foreign Address State PID/Program name
  
  
  
  tcp : : CLOSE /java
  
  tcp : : ESTABLISHED /sshd
  
  tcp : : ESTABLISHED /intelnetd:
  
  
  
  
  最後一列顯示運行的程序及其 PID
  
  
  我們還可以采用 ps 命令檢查機器上正在運行的守護程序
  
  
  [ root]# ps xc u
  
  PID TTY STAT TIME COMMAND
  
  
  
   ? S : sendmail
  
   ? S : gpm
  
   ? S : httpd
  
  
  
  
  四規劃好你的文件系統
  
  在安裝系統之前您就需要對硬盤做好恰當的規劃劃分一定的文件系統不僅僅是系統本身的需要而且在安全層面上也十分有意義我們一般需要 //usr/var/tmp /home 和 swap 這麼幾個另外把 / 和 /usr 開得大一點十分有必要如果你的機器提供別人發送郵件或者提供個人主頁等服務那麼一個很大的 /home 就極為重要如果你的業務夠好的話你甚至可以購買第二個硬盤建立 /home
  
  另外把 swap 分區放到硬盤的最外層能提高讀寫速率如果有多個硬盤的話可以在每個硬盤上各開 swap 分區另外建議 swap 分區的大小為物理內存的兩倍
  
  如果采用 IDE 硬盤的話您可以采用
  
  /sbin/hdparm c d m /dev/hda
  
  來提高硬盤性能
  
  新版本的 Linux 都支持日志文件系統這類文件系統不僅提供文件完整性上快速恢復在讀寫速度上也較普通的 ext 文件系統有很大提升
  
  文件的最後存取時間對很多人來說沒有任何用戶因此我們可以關閉操作系統記錄文件最後存取時間的功能修改 /etc/fstab
  
  把 dev/hda /home ext defaults
  改為
  
  /dev/hda /home ext defaultsnoatime
  五關閉 X 相關的軟件
  
  如果你像我一樣不喜歡在窗口環境下干活那麼要 X 干麼?讓我們把機器啟動後的缺省界面為 Console 吧
  
  修改 /etc/inittab 把
  
  
  id::initdefault:
  
  修改為
  
  id::initdefault:
  
  
  沒有浏覽器了麼不要緊你可以在 Console 下使用 lynx 來浏覽網站
  
  links 也是一個不錯的浏覽器你可以從
  
  
  artaxkarlinmffcunicz/ mikulas/links/
  
  
  下載
  
  
  六關閉多余的虛擬控制台
  
  我們知道從控制台切換到 X 窗口一般采用 AltF 為什麼呢?因為系統默認定義了 個虛擬控制台所以 X 就成了第實際上很多人一般不會需要這麼多虛擬控制台的修改
  
  /etc/inittab 注釋掉那些你不需要的
  
  
  # Run gettys in standard runlevels
  
  ::respawn:/sbin/mingetty tty
  
  ::respawn:/sbin/mingetty tty
  
  ::respawn:/sbin/mingetty tty
  
  ::respawn:/sbin/mingetty tty
  
  #::respawn:/sbin/mingetty tty
  
  #::respawn:/sbin/mingetty tty
  
  
  
  
  結論
  
  系統優化的哲學可以簡單的歸結為四個字少就是多只運行那些你需要的服務使用正確的應用來完成任務使用命令行方式只有充分精簡了你的系統後你的系統性能才能充分發揮我的願望就是全部重新編譯我系統裡面的所有程序)實際上 裡面的大多數程序都是經過我重新編譯以後的傑作
  

From:http://tw.wingwit.com/Article/program/Oracle/201311/16591.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.