針對系統的優化工作需要根據不同的系統采用不同的辦法
本文旨在描述通用的優化 Linux 的一些辦法
一
編譯選項
當我們采用
O
來編譯程序時
或許文件字節數是最大的
但是往往其運行速度也是最快的
根據不同的機器架構
你可以把下面的語句加入 /etc/profile
i
:
export CFLAGS=
O
funroll
loops
ffast
math
malign
double
mcpu=pentiumpro
march=pentiumpro
fomit
frame
pointer
fno
exceptions
i
:
export CFLAGS=
O
march=pentium
mcpu=pentium
ffast
math
funroll
loops
fomit
frame
pointer
fforce
mem
fforce
addr
malign
double
fno
exceptions
i
:
FLAGS=
O
funroll
all
loops
malign
double
mcpu=i
march=i
fomit
frame
pointer
fno
exceptions
另外
安裝程序時
使用 tarball 格式總要比 RPM 格式來得好
因為
tarball 需要重新編譯
能針對你的機器架構作優化
得到最好的性能
這也是本站下載中心提供的都是
tar
gz 格式的原因吧!
二
重新編譯內核
一般的 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/rc
d/init
d 目錄下
檢查自己的機器上使用中的服務
可以采用 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 Recv
Q Send
Q Local Address Foreign Address State PID/Program name
tcp
:
:
CLOSE
/java
tcp
:
:
ESTABLISHED
/sshd
tcp
:
:
ESTABLISHED
/in
telnetd:
最後一列顯示運行的程序及其 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
defaults
noatime
五
關閉 X 相關的軟件
如果你像我一樣
不喜歡在窗口環境下干活
那麼要 X 干麼?讓我們把機器啟動後的缺省界面為 Console 吧
修改
/etc/inittab 把
id:
:initdefault:
修改為
id:
:initdefault:
沒有浏覽器了麼
不要緊
你可以在 Console 下使用 lynx 來浏覽網站
links 也是一個不錯的浏覽器
你可以從
artax
karlin
mff
cuni
cz/ mikulas/links/
下載
六
關閉多余的虛擬控制台
我們知道從控制台切換到 X 窗口
一般采用 Alt
F
為什麼呢?因為系統默認定義了
個虛擬控制台
所以 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