歡迎您光臨本站 註冊首頁

通用的優化Linux的六大妙招

←手機掃碼閱讀     火星人 @ 2014-03-26 , reply:0

  針對系統的優化工作需要根據不同的系統採用不同的辦法。本文旨在描述通用的優化 Linux 的一些辦法。

  一、編譯選項

  當我們採用 -O9 來編譯程序時,或許文件位元組數是最大的,但是往往其運行速度也是最快的。 根據不同的機器架構,你可以把下面的語句加入 /etc/profile 。
QUOTE:
i686:
  
  export CFLAGS=-O9 -funroll-loops -ffast-math
-malign-double -mcpu=pentiumpro -march=pentiumpro
-fomit-frame-pointer -fno-exceptions
  
  
  i586:
  
  export CFLAGS=-O3 -march=pentium -mcpu=pentium
-ffast-math -funroll-loops -fomit-frame-pointer
-fforce-mem -fforce-addr -malign-double -fno-exceptions
  
  
  i486:
  
  FLAGS=-O3 -funroll-all-loops -malign-double
-mcpu=i486 -march=i486 -fomit-frame-pointer
-fno-exceptions

  另外,安裝程序時,使用 tarball 格式總要比 RPM 格式來得好,因為, tarball 需要重新編譯,能針對你的機器架構作優化,得到最好的性能。這也是本站下載中心提供的都是 .tar.gz 格式的原因吧!

  二、重新編譯內核

  一般的 Linux 發行商發布的 Linux 版本,其內核總是會帶有一些對你來說不是很實用的東西,例如對無線火腿(HAM Radio)的支持,對 Token Ring 的支持等。

  如果對自己編譯感到怯生生的話,可以查看下面的兩個網站的資料:Linux Kernel Howto: www.linuxdoc.org/HOWTO/Kernel-HOWTO.html;Linux Kernel : www.kernel.org。經過三次失敗的編譯后,你就能成功編譯自己需要的內核了。「失敗是成功之母」么!

  三、停止不使用的服務

  Sendmail, http, crond, kudzu, mysql, portmap, postgresql, smb, snortd, webmin, inetd (或者 xinetd) 等都是很棒的程序,但是如果你不會使用他們,幹嗎要讓他們佔用您寶貴的資源呢?而且,這些程序都會帶來安全隱患。一般說來,一套「乾淨」的 Linux 系統,只需要gpm, network, syslog, ssh 和 xfs。如果臨時有需要,就手工啟動好了。這些啟動腳本一般都在 /etc/rc.d/init.d 目錄下。

  檢查自己的機器上使用中的服務,可以採用 nmap 工具掃描。
QUOTE:
[xyj@freelamp.com]$ nmap -p1-65535 211.94.129.28
  
  Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/ )
  
  Interesting ports on freelamp.com (211.94.129.28):
  
  (The 65492 ports scanned but not shown below are in state: closed)
  
  ---Edited version of the output due to space considerations--
  
  Port State Service
  
  ...
  
  514/tcp open shell
  
  1025/tcp open listen
  
  1099/tcp open unknown
  
  1214/tcp open unknown
  
  ...

  檢查特定埠上正在運行的程序名,可以採用:
QUOTE:
[root@freelamp.com /root]# netstat -anp|more
  
  
  Active Internet connections (servers and established)
  
  Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  
  ....
  
  tcp 0 0 203.199.66.200:8007 203.199.66.197:1060 CLOSE 1005/java
  
  tcp 0 0 203.199.66.200:22 203.199.66.197:3768 ESTABLISHED 1381/sshd
  
  tcp 0 0 203.199.66.200:23 192.168.57.46:1546 ESTABLISHED 1229/in.telnetd: 19
  
  ....

  最後一列顯示運行的程序及其 PID。 我們還可以採用 ps 命令檢查機器上正在運行的守護程序:
QUOTE:
[root@freelamp.com root]# ps xc -u 0
  
  PID TTY STAT TIME COMMAND
  
  ...
  
  1475 ? S 0:02 sendmail
  
  1498 ? S 0:04 gpm
  
  16539 ? S 0:01 httpd
  
  ...


[火星人 ] 通用的優化Linux的六大妙招已經有266次圍觀

http://coctec.com/docs/linux/show-post-188824.html