如何優化LINUX

2021-04-15 06:47:26 字數 3263 閱讀 9925

用setup--system service,把裡面不用的服務前面的*去掉。

chkconfig裡面看看開了哪些服務埠,也可以off掉,最後用nmap看看還有哪些埠開放著,不用的可以把/etc/services裡面相應的埠注釋掉。

先介紹兩個系統管理的概念

1 系統效能管理

1)響應時間(response time)

從使用者的角度來看,系統處於良好的效能狀態是指系統能夠快速響應使用者的請求,即系統響應時間短。

具體地說,響應時間是指發出請求的時刻到使用者的請求的相應結果返回使用者的時間間隔。

2)吞吐量(throughput)

從系統管理員角度來看,系統的吞吐量成為系統處於良好的效能狀態的指標。

具體地說,吞吐量是在給定時間段內系統完成的交易數量。即系統的吞吐量越大,說明系統在單位時間內完成的使用者或系統請求越多, 系統的資源得到充分利用。

2 資源與瓶頸

1)系統資源(system resource)

cpu

記憶體 磁碟

輸入輸出,尤其是網路和序列通訊

檢視系統資訊

cat /proc/cpuinfo - cpu (i.e. vendor, mhz, flags like mmx)

cat /proc/interrupts - 中斷

cat /proc/ioports - 裝置io埠

cat /proc/meminfo - 記憶體資訊(i.e. mem used, free, swap size)

cat /proc/partitions - 所有裝置的所有分割槽

cat /proc/pci - pci裝置的資訊

cat /proc/swaps - 所有swap分割槽的資訊

cat /proc/version - linux的版本號 相當於 uname -r

uname -a - 看系統核心等資訊

2)瓶頸(bottleneck)

在計算機的眾多資源中,由於系統配置的原因,某種資源成為系統效能的瓶頸是很自然的事情。

當所有使用者或系統請求對某種資源的需求超過它的可用數量範圍時,我們稱這種資源成為瓶頸。

當系統出現瓶頸時,消除瓶頸是方法通常有兩種:

增加成為瓶頸的資源的數量;

減少請求的數量;

一些優化的措施

1開啟硬碟 dma 支援。

系統安裝完畢後,硬碟的 dma 是沒有開啟的,我的方法是在

/etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 /dev/hda 這樣每次開機後,硬碟的 dma 就會開啟,不必每次手動設定。

新增前後你可以用hdparm -tt /dev/hda 來測試一下。

2執行ntsysv來關掉一些沒有必要的服務,下面也提供一些常見服務的具體解釋:

amd管理mixer裝置的

amidxtape

anacron(命令排程)

apmd(高階電源管理)

arpwatch(看arp的)

atd (功能cron類似)

autofs(自動載入檔案系統)

daytime-udp(udp-使用者資料報協議,與之同級別的是tcp)

dhcpd(動態主機服務)

echo(伺服器回顯客戶資料服務)

echo-udp(udp版本的echo)

finger(finger服務)

gated (閘道器服務)

gpm(控制台下的滑鼠)

ipchains(防火牆)

linuxconf-web(開啟linuxconf的web配置埠)

netfs(網路檔案系統)

*network(提供網路支援)

pcmica(提供對pc卡的支援,一般筆記本用)

sendmail(大名鼎鼎的郵件伺服器)

keytable(鍵盤影射,好象沒有用)

kzuzu----啟動系統時檢測pc硬體

#我只留下了apmd gpm syslog network iptable 5個

3減少虛擬終端機的數量。

系統預設是6個,也就是 ctrl+alt f1~f6 那六個,我關掉其中四個,只留下 ctrl+alt f1~f2,大約省下 4 mbytes 的記憶體,但是這樣一來,x-window 會從原來的 ctrl+alt f7 變成 ctrl+alt f3 。

修改 /etc/inittab 中,將 mingetty 3 ~6 全部加上 # 字型大小

幾個對系統安全有好處的設定

1刪除所有的特殊賬戶

你應該刪除所有不用的預設使用者和組賬戶(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。

2開啟密碼的shadow支援功能:

開啟密碼的shadow功能,對password加密。使用"/usr/sbin/authconfig"工具開啟shadow功能。如果想把密碼和組轉變為shadow格式,可以分別使用"pwcov,grpconv"命令。

3、root賬戶

在unix系統中root賬戶是具有最高特權的。如果系統管理員在離開系統之前忘記登出root賬戶,系統會自動登出。通過修改賬戶中"tmout"引數,可以實現此功能。tmout按秒計算。編輯你的profile檔案(vi /etc/profile),在"histfilesize="後面加入下面這行:

tmout=3600

3600,表示60*60=3600秒,也就是1小時。這樣,如果系統中登陸的使用者在乙個小時內都沒有動作,那麼系統會自動登出這個賬戶。你可以在個別使用者的".bashrc"檔案中新增該值,以便系統對該使用者實行特殊的自動登出時間。

改變這項設定後,必須先登出使用者,再用該使用者登陸才能啟用這個功能。

4禁止系統資訊暴露

當有人遠端登陸時,禁止顯示系統歡迎資訊。你可以通過修改"/etc/inetd.conf"檔案來達到這個目的。

把/etc/inetd.conf檔案下面這行:

telnet  stream  tcp     nowait root    /usr/sbin/tcpd  in.telnetd

修改為:

telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd -h

在最後加"-h"可以使當有人登陸時只顯示乙個login:提示,而不顯示系統歡迎資訊 

01 如何學習Linux效能優化?

沒找到有效的方法學原理 重要的是需要深入學下去,建立起效能的全域性觀 效能問題的根源太複雜,即不懂怎麼去分析,也不能抽絲剝繭找到瓶頸 只要理解應用程式和系統的少數幾個基本原理,再進行大量的實戰練習,建立起整體效能的全域性觀。那麼大多數效能問題的優化就會水到渠成。不需要了解每個元件的所有實現細節,只要...

Linux 下如何繞過編譯器優化

程式載入 上下文傳遞 系統呼叫 記憶體布局 程序排程 除錯 程式退出 有同學在群裡聊到編譯器優化的事情,很多時候期望編譯器預設做優化,但是有些場景是希望能繞過的,哪些呢?這裡舉兩個實實在在的例子。第乙個,在除錯的時候,如果預設開啟了優化,要關注的某個變數值,用gdb列印時可能會提示被優化掉了,會讓人...

如何優化Nginx

1.worker processes的程序數,數量要與cpu數量一致,通過lscpu檢視 worker processes 1 2.worker process開啟檔案數的優化 worker rlimit nofile 65535 2.1 優化了nginx的worker程序最多開啟數量的引數之後,還...