基本Linux 優化指南簡單介紹
有人看到Linux 優化指南這個標題的時候,心里一定在嘀咕“linux需要優化嗎?”。在回答這個問題之前,我先問個問題“何謂Linux 優化?”,我的理念是,沒有最優的,合適自己的才是更優的,把桌面背景調成自己喜歡的顏色,算不算優化呢?
我想上面兩個問題都不用回答,如果你有興趣,可以接著看下去。這里要說的優化,主要指性能上的。優化是針對自己硬件,針對自己需求來做的,因此不存在適合所有人的優化方法。以我的機器為例,結合Ubuntu講述。
CPU: AMD AM2 Athlon64 X2 3600+
RAM: DDRII 800 512M * 2
DISK: SATA2 250G 8M
§加快啟動速度
如果你常常使用大量的外設,比如說紅外、藍牙、打印機、掃描儀等,這部分可以跳過,因為這里將去掉這些東西在引導系統時的加載,以提高啟動速度。
Ubuntu和其它多數發行版一樣,在引導的時候,默認會加載大量的你不需要的東西,HP打印機,LVM,RAID,甚至是盲人使用的特性。這些東西一般都可以去掉,即使你偶爾需要使用,可以通過手動的方式啟動,不會影響你的使用,這就類似于windows的自啟動程序,Ubuntu的自啟動程序數量是的驚人的。
雖然可以通過命令行直接控制服務的一切,但對于新手來說,這不夠直觀,也沒那么安全,因此借助第3方的工具來實現,不過請放心,那個工具是免費的。
安裝這個工具 并且運行
$ sudo apt-get install sysv-rc-conf
$ sudo sysv-rc-conf
哪些是需要的 哪些是不需要的 可以一個個的去用google搜索,這里給出一些大部分人可以考慮去掉的例子。
evms,cron,anacron,apmd,atd,mdamd,lvm 如果不知道是什么,可以放心去掉
bluez-utiles 藍牙,如果你每次開機都要用,那么留著也無妨。
bootlogd 如果你有查看日志的愛好 那么留著吧
cupsys 如果你常用打印機,就留著
dns-clean 如果是撥號上網的,留著
fetchmail 如果不知道是干嘛的 也可以去掉
hdparm 如果都是SATA硬盤 去掉吧
hotkey-setup 只有筆記本可能需要,你可以嘗試去掉,有副作用就改回來
hotplug 大多數人可以去掉,有些硬件可能需要,比如品種罕見的聲卡
hplip 你有惠普打印機的話 就留著
klogd 去掉也無妨
networking 在交大宿舍上網的可以放心去掉
ntp-server 時間同步,一般可以去掉
pcmcia 傳說中的設備 我沒見過,因此去掉了
powernowd 如果CPU支持變頻,可以留著省電,去掉也無妨
ppp 撥號上網用的 不撥號的就關掉
ppp-dns 同上
readahead 關掉
rmnologin 去掉
rsync 如果不知道干嘛的 去掉
screen-cleanup 去掉
stop-bootlogd 去掉
sysklogd 去掉也無妨 隨你
urandom 去掉也無妨
usplash 那個黃色的啟動畫面 去掉吧
bittorrent 去掉
其余的服務,不妨自己琢磨琢磨
使用并發加載 有的單核的機器上反而會變慢,建議雙核用戶使用
sudo vi /etc/init.d/rc
找到 CONCURRENCY=none
修改為 CONCURRENCY=shell
保存后退出
§使用適合自己的內核
從kernel.org下載源碼自己編譯內核,調整參數,使之適合自己。
內核時鐘頻率 有100 250 333 1000等選項 選擇適合自己的
驅動,將磁盤控制器,文件系統的編譯進內核,其余的編譯成模塊,不需要的就
去掉不編譯
CPU類型,選擇跟自己型號一致的
內存大小,大于等于1G內存的,打開大于1G內存支持
可以斟酌的地方很多,這里不再贅述,我的內核精簡到了1.2M,這個大小你可以
參考一下。
§合理使用內存
Linux的內存管理機制跟windows不同,縱然你有64G的內存,使用一段時間之后,
剩余的物理內存仍然會相當的少,內存不是看的,是拿來用的,所以不要覺得奇怪。
這里需要調整的一個參數是vm.swappiness,Ubuntu默認是60。這個參數是決定內核將程序swap到swap里,還是釋放掉部分cache。0表示釋盡量放掉部分cache,100表示盡量使用swap,可以在0到100之間調節。我個人調整成了0。
sudo echo 'vm.swappiness = 0' >> /etc/sysctl.conf
如果要不重啟就生效,可以再修改一下 /proc/sys/vm/swappiness
§資源限制
編輯 /etc/security/limits.conf
hardcore0
enjoy hardnofile 128
enjoy hardfsize 1024000
enjoy hardrss 102400
enjoy hardstack 102400
enjoy hardcpu 10
enjoy hardnproc 20
enjoy hardmaxlogins 10
enjoy harddata102400
sagahardnproc 200
sagahardnofile 4096
enjoy和saga都是用戶名,限制的具體內容看 這個文件的注釋。
如果不作這個限制,可能一行代碼就讓你很慘了,甚至需要你重啟一下。
你可以把下面這行代碼復制粘貼到終端里執行測試一下是否需要限制
:(){ :|:; }; :
§裁減系統體積
如果硬盤空間吃緊,刪除不需要的應用軟件,這個對于新手同樣是存在風險的,
慎行。
§其他優化
如果你不需要使用ipv6
sudo vi /etc/modprobe.d/aliases
找到alias net-pf-10 ipv6
改為alias net-pf-10 off #ipv6
禁用pango
sudo echo 'MOZ_DISABLE_PANGO="1"' >> /etc/environment
硬盤優化(SATA的可以不做)
sudo hdparm -t -T /dev/hda //測試硬盤性能
sudo hdparm -c 1 /dev/hda //使用32bit傳輸模式
sudo hdparm -d 1 /dev/hda //使用DMA
sudo hdparm -t -T /dev/hda //再次測試
sudo hdparm -k 1 /dev/hda //保存結果
這里的/dev/hda換成你自己的對應的設備
§常用軟件的設置
OpenOffice里有個Java的選項,一般可以禁用掉。
Firefox地址欄輸入 about:config 回車
browser.sessionhistory.max_entries 設置為5
browser.sessionhistory.max_total_viewers 設置為1
network.http.max-connections-per-server 設置為10
network.http.pipelining.maxrequests 設置為10
network.dns.disableIPv6 設置為true
network.dnsCacheEntries 設置為9999
network.dnsCacheExpiration 設置為9999
browser.cache.disk.capacity 設置為512000
browser.cache.memory.capacity 設置為102400(內存小的人可以設置小一些)
具體的含義 自己查看mozilla的官方站點在線文檔 設置為合適自己的,Linux 優化介紹完畢了。