linux 其餘知識目錄html
原文連接:https://blog.csdn.net/hshl1214/article/details/4596583node
1、前言
本文檔針對OOP8生產環境,具體優化策略須要根據實際狀況進行調整;本文檔將在如下幾個方面來闡述如何針對RedHat Enterprise Linux進行性能優化。
1) Linux Proc文件系統,經過對Proc文件系統進行調整,達到性能優化的目的。
2) Linux性能診斷工具,介紹如何使用Linux自帶的診斷工具進行性能診斷。
加粗斜體表示能夠直接運行的命令。
下劃線表示文件的內容。
2、/proc/sys/kernel/優化
1) /proc/sys/kernel/ctrl-alt-del
該文件有一個二進制值,該值控制系統在接收到ctrl+alt+delete按鍵組合時如何反應。這兩個值分別是:
零(0)值,表示捕獲ctrl+alt+delete,並將其送至 init 程序;這將容許系統能夠安全地關閉和重啓,就好象輸入shutdown命令同樣。
壹(1)值,表示不捕獲ctrl+alt+delete,將執行非正常的關閉,就好象直接關閉電源同樣。
缺省設置:0
建議設置:1,防止意外按下ctrl+alt+delete致使系統非正常重啓。
2) proc/sys/kernel/msgmax
該文件指定了從一個進程發送到另外一個進程的消息的最大長度(bytes)。進程間的消息傳遞是在內核的內存中進行的,不會交換到磁盤上,因此若是增長該值,則將增長操做系統所使用的內存數量。
缺省設置:8192
3) /proc/sys/kernel/msgmnb
該文件指定一個消息隊列的最大長度(bytes)。
缺省設置:16384
4) /proc/sys/kernel/msgmni
該文件指定消息隊列標識的最大數目,即系統範圍內最大多少個消息隊列。
缺省設置:16
5) /proc/sys/kernel/panic
該文件表示若是發生「內核嚴重錯誤(kernel panic)」,則內核在從新引導以前等待的時間(以秒爲單位)。
零(0)秒,表示在發生內核嚴重錯誤時將禁止自動從新引導。
缺省設置:0
6) proc/sys/kernel/shmall
該文件表示在任何給定時刻,系統上可使用的共享內存的總量(bytes)。
缺省設置:2097152
7) /proc/sys/kernel/shmmax
該文件表示內核所容許的最大共享內存段的大小(bytes)。
缺省設置:33554432
建議設置:物理內存 * 50%
實際可用最大共享內存段大小=shmmax * 98%,其中大約2%用於共享內存結構。
能夠經過設置shmmax,而後執行ipcs -l來驗證。
8) /proc/sys/kernel/shmmni
該文件表示用於整個系統的共享內存段的最大數目(個)。
缺省設置:4096
9) /proc/sys/kernel/threads-max
該文件表示內核所能使用的線程的最大數目。
缺省設置:2048
10) /proc/sys/kernel/sem
該文件用於控制內核信號量,信號量是System VIPC用於進程間通信的方法。
建議設置:250 32000 100 128
第一列,表示每一個信號集中的最大信號量數目。
第二列,表示系統範圍內的最大信號量總數目。
第三列,表示每一個信號發生時的最大系統操做數目。
第四列,表示系統範圍內的最大信號集總數目。
因此,(第一列)*(第四列)=(第二列)
以上設置,能夠經過執行ipcs -l來驗證。
11) 待續。。。
3、/proc/sys/vm/優化
1) /proc/sys/vm/block_dump
該文件表示是否打開Block Debug模式,用於記錄全部的讀寫及Dirty Block寫回動做。
缺省設置:0,禁用Block Debug模式
2) /proc/sys/vm/dirty_background_ratio
該文件表示髒數據到達系統總體內存的百分比,此時觸發pdflush進程把髒數據寫回磁盤。
缺省設置:10
3) /proc/sys/vm/dirty_expire_centisecs
該文件表示若是髒數據在內存中駐留時間超過該值,pdflush進程在下一次將把這些數據寫回磁盤。
缺省設置:3000(1/100秒)
4) /proc/sys/vm/dirty_ratio
該文件表示若是進程產生的髒數據到達系統總體內存的百分比,此時進程自行把髒數據寫回磁盤。
缺省設置:40
5) /proc/sys/vm/dirty_writeback_centisecs
該文件表示pdflush進程週期性間隔多久把髒數據寫回磁盤。
缺省設置:500(1/100秒)
6) /proc/sys/vm/vfs_cache_pressure
該文件表示內核回收用於directory和inode cache內存的傾向;缺省值100表示內核將根據pagecache和swapcache,把directory和inode cache保持在一個合理的百分比;下降該值低於100,將致使內核傾向於保留directory和inode cache;增長該值超過100,將致使內核傾向於回收directory和inode cache。
缺省設置:100
7) /proc/sys/vm/min_free_kbytes
該文件表示強制Linux VM最低保留多少空閒內存(Kbytes)。
缺省設置:724(512M物理內存)
8) /proc/sys/vm/nr_pdflush_threads
該文件表示當前正在運行的pdflush進程數量,在I/O負載高的狀況下,內核會自動增長更多的pdflush進程。
缺省設置:2(只讀)
9) /proc/sys/vm/overcommit_memory
該文件指定了內核針對內存分配的策略,其值能夠是0、一、2。
0, 表示內核將檢查是否有足夠的可用內存供應用進程使用;若是有足夠的可用內存,內存申請容許;不然,內存申請失敗,並把錯誤返回給應用進程。
1, 表示內核容許分配全部的物理內存,而無論當前的內存狀態如何。
2, 表示內核容許分配超過全部物理內存和交換空間總和的內存(參照overcommit_ratio)。
缺省設置:0
10) /proc/sys/vm/overcommit_ratio
該文件表示,若是overcommit_memory=2,能夠過載內存的百分比,經過如下公式來計算系統總體可用內存。
系統可分配內存=交換空間+物理內存*overcommit_ratio/100
缺省設置:50(%)
11) /proc/sys/vm/page-cluster
該文件表示在寫一次到swap區的時候寫入的頁面數量,0表示1頁,1表示2頁,2表示4頁。
缺省設置:3(2的3次方,8頁)
12) /proc/sys/vm/swapiness
該文件表示系統進行交換行爲的程度,數值(0-100)越高,越可能發生磁盤交換。
缺省設置:60
13) legacy_va_layout
該文件表示是否使用最新的32位共享內存mmap()系統調用,Linux支持的共享內存分配方式包括mmap(),Posix,System VIPC。
0, 使用最新32位mmap()系統調用。
1, 使用2.4內核提供的系統調用。
缺省設置:0
14) nr_hugepages
該文件表示系統保留的hugetlb頁數。
15) hugetlb_shm_group
該文件表示容許使用hugetlb頁建立System VIPC共享內存段的系統組ID。
16) 待續。。。
4、/proc/sys/fs/優化
1) /proc/sys/fs/file-max
該文件指定了能夠分配的文件句柄的最大數目。若是用戶獲得的錯誤消息聲明因爲打開
文件數已經達到了最大值,從而他們不能打開更多文件,則可能須要增長該值。
缺省設置:4096
建議設置:65536
2) /proc/sys/fs/file-nr
該文件與 file-max 相關,它有三個值:
已分配文件句柄的數目
已使用文件句柄的數目
文件句柄的最大數目
該文件是隻讀的,僅用於顯示信息。
3) 待續。。。
5、/proc/sys/net/core/優化
該目錄下的配置文件主要用來控制內核和網絡層之間的交互行爲。
1) /proc/sys/net/core/message_burst
寫新的警告消息所需的時間(以 1/10 秒爲單位);在這個時間內系統接收到的其它警告消息會被丟棄。這用於防止某些企圖用消息「淹沒」系統的人所使用的拒絕服務(Denial of Service)攻擊。
缺省設置:50(5秒)
2) /proc/sys/net/core/message_cost
該文件表示寫每一個警告消息相關的成本值。該值越大,越有可能忽略警告消息。
缺省設置:5
3) /proc/sys/net/core/netdev_max_backlog
該文件表示在每一個網絡接口接收數據包的速率比內核處理這些包的速率快時,容許送到隊列的數據包的最大數目。
缺省設置:300
4) /proc/sys/net/core/optmem_max
該文件表示每一個套接字所容許的最大緩衝區的大小。
缺省設置:10240
5) /proc/sys/net/core/rmem_default
該文件指定了接收套接字緩衝區大小的缺省值(以字節爲單位)。
缺省設置:110592
6) /proc/sys/net/core/rmem_max
該文件指定了接收套接字緩衝區大小的最大值(以字節爲單位)。
缺省設置:131071
7) /proc/sys/net/core/wmem_default
該文件指定了發送套接字緩衝區大小的缺省值(以字節爲單位)。
缺省設置:110592
8) /proc/sys/net/core/wmem_max
該文件指定了發送套接字緩衝區大小的最大值(以字節爲單位)。
缺省設置:131071
9) 待續。。。
6、/proc/sys/net/ipv4/優化
1) /proc/sys/net/ipv4/ip_forward
該文件表示是否打開IP轉發。
0,禁止
1,轉發
缺省設置:0
2) /proc/sys/net/ipv4/ip_default_ttl
該文件表示一個數據報的生存週期(Time To Live),即最多通過多少路由器。
缺省設置:64
增長該值會下降系統性能。
3) /proc/sys/net/ipv4/ip_no_pmtu_disc
該文件表示在全局範圍內關閉路徑MTU探測功能。
缺省設置:0
4) /proc/sys/net/ipv4/route/min_pmtu
該文件表示最小路徑MTU的大小。
缺省設置:552
5) /proc/sys/net/ipv4/route/mtu_expires
該文件表示PMTU信息緩存多長時間(秒)。
缺省設置:600(秒)
6) /proc/sys/net/ipv4/route/min_adv_mss
該文件表示最小的MSS(Maximum Segment Size)大小,取決於第一跳的路由器MTU。
缺省設置:256(bytes)
6.1 IP Fragmentation
1) /proc/sys/net/ipv4/ipfrag_low_thresh/proc/sys/net/ipv4/ipfrag_low_thresh
兩個文件分別表示用於重組IP分段的內存分配最低值和最高值,一旦達到最高內存分配值,其它分段將被丟棄,直到達到最低內存分配值。
缺省設置:196608(ipfrag_low_thresh)
262144(ipfrag_high_thresh)
2) /proc/sys/net/ipv4/ipfrag_time
該文件表示一個IP分段在內存中保留多少秒。
缺省設置:30(秒)
6.2 INET Peer Storage
1) /proc/sys/net/ipv4/inet_peer_threshold
INET對端存儲器某個合適值,當超過該閥值條目將被丟棄。該閥值一樣決定生存
時間以及廢物收集經過的時間間隔。條目越多,存活期越低,GC 間隔越短。
缺省設置:65664
2) /proc/sys/net/ipv4/inet_peer_minttl
條目的最低存活期。在重組端必需要有足夠的碎片(fragment)存活期。這個最低
存活期必須保證緩衝池容積是否少於 inet_peer_threshold。該值以 jiffies爲
單位測量。
缺省設置:120
3) /proc/sys/net/ipv4/inet_peer_maxttl
條目的最大存活期。在此期限到達以後,若是緩衝池沒有耗盡壓力的話(例如:緩
衝池中的條目數目很是少),不使用的條目將會超時。該值以 jiffies爲單位測量。
缺省設置:600
4) /proc/sys/net/ipv4/inet_peer_gc_mintime
廢物收集(GC)經過的最短間隔。這個間隔會影響到緩衝池中內存的高壓力。 該值
以 jiffies爲單位測量。linux
5) /proc/sys/net/ipv4/inet_peer_gc_maxtime 廢物收集(GC)經過的最大間隔,這個間隔會影響到緩衝池中內存的低壓力。 該值 以 jiffies爲單位測量。 缺省設置:120 6.3 TCP Variables 1) /proc/sys/net/ipv4/tcp_syn_retries 該文件表示本機向外發起TCP SYN鏈接超時重傳的次數,不該該高於255;該值僅僅針對外出的鏈接,對於進來的鏈接由tcp_retries1控制。 缺省設置:5 2) /proc/sys/net/ipv4/tcp_keepalive_probes 該文件表示丟棄TCP鏈接前,進行最大TCP保持鏈接偵測的次數。保持鏈接僅在 SO_KEEPALIVE套接字選項被打開時才被髮送。 缺省設置:9(次) 3) /proc/sys/net/ipv4/tcp_keepalive_time 該文件表示從再也不傳送數據到向鏈接上發送保持鏈接信號之間所需的秒數。 缺省設置:7200(2小時) 4) /proc/sys/net/ipv4/tcp_keepalive_intvl 該文件表示發送TCP探測的頻率,乘以tcp_keepalive_probes表示斷開沒有相應的TCP鏈接的時間。 缺省設置:75(秒) 5) /proc/sys/net/ipv4/tcp_retries1 該文件表示放棄迴應一個TCP鏈接請求前進行重傳的次數。 缺省設置:3 6) /proc/sys/net/ipv4/tcp_retries2 該文件表示放棄在已經創建通信狀態下的一個TCP數據包前進行重傳的次數。 缺省設置:15 7) /proc/sys/net/ipv4/tcp_orphan_retries 在近端丟棄TCP鏈接以前,要進行多少次重試。默認值是 7 個,至關於 50秒– 16分鐘,視 RTO 而定。若是您的系統是負載很大的web服務器,那麼也許需 要下降該值,這類 sockets 可能會耗費大量的資源。另外參考 tcp_max_orphans。 8) /proc/sys/net/ipv4/tcp_fin_timeout 對於本端斷開的socket鏈接,TCP保持在FIN-WAIT-2狀態的時間。對方可能 會斷開鏈接或一直不結束鏈接或不可預料的進程死亡。默認值爲 60 秒。過去在 2.2版本的內核中是 180 秒。您能夠設置該值,但須要注意,若是您的機器爲負 載很重的web服務器,您可能要冒內存被大量無效數據報填滿的風險, FIN-WAIT-2 sockets 的危險性低於 FIN-WAIT-1,由於它們最多隻吃 1.5K 的內存,可是它們存在時間更長。另外參考 tcp_max_orphans。 缺省設置:60(秒) 9) /proc/sys/net/ipv4/tcp_max_tw_buckets 系統在同時所處理的最大timewait sockets 數目。若是超過此數的話, time-wait socket 會被當即砍除而且顯示警告信息。之因此要設定這個限制,純 粹爲了抵禦那些簡單的 DoS 攻擊,千萬不要人爲的下降這個限制,不過,若是 網絡條件須要比默認值更多,則能夠提升它(或許還要增長內存)。 缺省設置:180000 10) /proc/sys/net/ipv4/tcp_tw_recyle 打開快速 TIME-WAIT sockets 回收。除非獲得技術專家的建議或要求,請不要隨 意修改這個值。 缺省設置:0 11) /proc/sys/net/ipv4/tcp_tw_reuse 該文件表示是否容許從新應用處於TIME-WAIT狀態的socket用於新的TCP鏈接。 缺省設置:0 12) /proc/sys/net/ipv4/tcp_max_orphans 系統所能處理不屬於任何進程的TCP sockets最大數量。假如超過這個數量,那 麼不屬於任何進程的鏈接會被當即reset,並同時顯示警告信息。之因此要設定這 個限制,純粹爲了抵禦那些簡單的 DoS 攻擊,千萬不要依賴這個或是人爲的降 低這個限制。 缺省設置:8192 13) /proc/sys/net/ipv4/tcp_abort_on_overflow 當守護進程太忙而不能接受新的鏈接,就向對方發送reset消息,默認值是false。 這意味着當溢出的緣由是由於一個偶然的猝發,那麼鏈接將恢復狀態。只有在你確 信守護進程真的不能完成鏈接請求時纔打開該選項,該選項會影響客戶的使用。 缺省設置:0 14) /proc/sys/net/ipv4/tcp_syncookies 該文件表示是否打開TCP同步標籤(syncookie),內核必須打開了 CONFIG_SYN_COOKIES項進行編譯。 同步標籤(syncookie)能夠防止一個套接字在有過多試圖鏈接到達時引發過載。 缺省設置:0 15) /proc/sys/net/ipv4/tcp_stdurg 使用 TCP urg pointer 字段中的主機請求解釋功能。大部份的主機都使用老舊的 BSD解釋,所以若是您在 Linux 打開它,或會致使不能和它們正確溝通。 缺省設置:0 16) /proc/sys/net/ipv4/tcp_max_syn_backlog 對於那些依然還未得到客戶端確認的鏈接請求,須要保存在隊列中最大數目。對於 超過 128Mb 內存的系統,默認值是 1024,低於 128Mb 的則爲 128。若是 服務器常常出現過載,能夠嘗試增長這個數字。警告!假如您將此值設爲大於 1024,最好修改 include/net/tcp.h 裏面的 TCP_SYNQ_HSIZE,以保持 TCP_SYNQ_HSIZE*16 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如 果tcp_adv_win_scale 128Mb 32768-610000)則系統將忽略全部發送給本身 的ICMP ECHO請求或那些廣播地址的請求。 缺省設置:1024 17) /proc/sys/net/ipv4/tcp_window_scaling 該文件表示設置tcp/ip會話的滑動窗口大小是否可變。參數值爲布爾值,爲1時表示可變,爲0時表示不可變。tcp/ip一般使用的窗口最大可達到65535 字節,對於高速網絡,該值可能過小,這時候若是啓用了該功能,可使tcp/ip滑動窗口大小增大數個數量級,從而提升數據傳輸的能力。 缺省設置:1 18) /proc/sys/net/ipv4/tcp_sack 該文件表示是否啓用有選擇的應答(Selective Acknowledgment),這能夠經過有選擇地應答亂序接收到的報文來提升性能(這樣可讓發送者只發送丟失的報文段);(對於廣域網通訊來講)這個選項應該啓用,可是這會增長對 CPU 的佔用。 缺省設置:1 19) /proc/sys/net/ipv4/tcp_timestamps 該文件表示是否啓用以一種比超時重發更精確的方法(請參閱 RFC 1323)來啓用對 RTT 的計算;爲了實現更好的性能應該啓用這個選項。 缺省設置:1 20) /proc/sys/net/ipv4/tcp_fack 該文件表示是否打開FACK擁塞避免和快速重傳功能。 缺省設置:1 21) /proc/sys/net/ipv4/tcp_dsack 該文件表示是否容許TCP發送「兩個徹底相同」的SACK。 缺省設置:1 22) /proc/sys/net/ipv4/tcp_ecn 該文件表示是否打開TCP的直接擁塞通告功能。 缺省設置:0 23) /proc/sys/net/ipv4/tcp_reordering 該文件表示TCP流中重排序的數據報最大數量。 缺省設置:3 24) /proc/sys/net/ipv4/tcp_retrans_collapse 該文件表示對於某些有bug的打印機是否提供針對其bug的兼容性。 缺省設置:1 25) /proc/sys/net/ipv4/tcp_wmem 該文件包含3個整數值,分別是:min,default,max Min:爲TCP socket預留用於發送緩衝的內存最小值。每一個TCP socket均可以使用它。 Default:爲TCP socket預留用於發送緩衝的內存數量,默認狀況下該值會影響其它協議使用的net.core.wmem中default的 值,通常要低於net.core.wmem中default的值。 Max:爲TCP socket預留用於發送緩衝的內存最大值。該值不會影響net.core.wmem_max,今天選擇參數SO_SNDBUF則不受該值影響。默認值爲128K。 缺省設置:4096 16384 131072 26) /proc/sys/net/ipv4/tcp_rmem 該文件包含3個整數值,分別是:min,default,max Min:爲TCP socket預留用於接收緩衝的內存數量,即便在內存出現緊張狀況下TCP socket都至少會有這麼多數量的內存用於接收緩衝。 Default:爲TCP socket預留用於接收緩衝的內存數量,默認狀況下該值影響其它協議使用的 net.core.wmem中default的 值。該值決定了在tcp_adv_win_scale、tcp_app_win和tcp_app_win的默認值狀況下,TCP 窗口大小爲65535。 Max:爲TCP socket預留用於接收緩衝的內存最大值。該值不會影響 net.core.wmem中max的值,今天選擇參數 SO_SNDBUF則不受該值影響。 缺省設置:4096 87380 174760 27) /proc/sys/net/ipv4/tcp_mem 該文件包含3個整數值,分別是:low,pressure,high Low:當TCP使用了低於該值的內存頁面數時,TCP不會考慮釋放內存。 Pressure:當TCP使用了超過該值的內存頁面數量時,TCP試圖穩定其內存使用,進入pressure模式,當內存消耗低於low值時則退出pressure狀態。 High:容許全部tcp sockets用於排隊緩衝數據報的頁面量。 通常狀況下這些值是在系統啓動時根據系統內存數量計算獲得的。 缺省設置:24576 32768 49152 28) /proc/sys/net/ipv4/tcp_app_win 該文件表示保留max(window/2^tcp_app_win, mss)數量的窗口因爲應用緩衝。當爲0時表示不須要緩衝。 缺省設置:31 29) /proc/sys/net/ipv4/tcp_adv_win_scale 該文件表示計算緩衝開銷bytes/2^tcp_adv_win_scale(若是tcp_adv_win_scale >; 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(若是tcp_adv_win_scale <= 0)。 缺省設置:2 6.4 IP Variables 1) /proc/sys/net/ipv4/ip_local_port_range 該文件表示TCP/UDP協議打開的本地端口號。 缺省設置:1024 4999 建議設置:32768 61000 2) /proc/sys/net/ipv4/ip_nonlocal_bind 該文件表示是否容許進程邦定到非本地地址。 缺省設置:0 3) /proc/sys/net/ipv4/ip_dynaddr 該參數一般用於使用撥號鏈接的狀況,可使系統動可以當即改變ip包的源地址爲該ip地址,同時中斷原有的tcp對話而用新地址從新發出一個syn請求包,開始新的tcp對話。在使用ip欺騙時,該參數能夠當即改變假裝地址爲新的ip地址。該文件表示是否容許動態地址,若是該值非0,表示容許;若是該值大於1,內核將經過log記錄動態地址重寫信息。 缺省設置:0 4) /proc/sys/net/ipv4/icmp_echo_ignore_all/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 該文件表示內核是否忽略全部的ICMP ECHO請求,或忽略廣播和多播請求。 0, 響應請求 1, 忽略請求 缺省設置:0 建議設置:1 5) /proc/sys/net/ipv4/icmp_ratelimit 6) /proc/sys/net/ipv4/icmp_ratemask 7) /proc/sys/net/ipv4/icmp_ignore_bogus_error_reponses 某些路由器違背RFC1122標準,其對廣播幀發送僞造的響應來應答。這種違背行 爲一般會被以告警的方式記錄在系統日誌中。若是該選項設置爲True,內核不會 記錄這種警告信息。 缺省設置:0 8) /proc/sys/net/ipv4/igmp_max_memberships 該文件表示多播組中的最大成員數量。 缺省設置:20 6.5 Other Configuration 1) /proc/sys/net/ipv4/conf/*/accept_redirects 若是主機所在的網段中有兩個路由器,你將其中一個設置成了缺省網關,可是該網關 在收到你的ip包時發現該ip包必須通過另一個路由器,這時這個路由器就會給你 發一個所謂的「重定向」icmp包,告訴將ip包轉發到另一個路由器。參數值爲布爾 值,1表示接收這類重定向icmp 信息,0表示忽略。在充當路由器的linux主機上缺 省值爲0,在通常的linux主機上缺省值爲1。建議將其改成0以消除安全性隱患。 2) /proc/sys/net/ipv4/*/accept_source_route 是否接受含有源路由信息的ip包。參數值爲布爾值,1表示接受,0表示不接受。在 充當網關的linux主機上缺省值爲1,在通常的linux主機上缺省值爲0。從安全性角 度出發,建議關閉該功能。 3) /proc/sys/net/ipv4/*/secure_redirects 其實所謂的「安全重定向」就是隻接受來自網關的「重定向」icmp包。該參數就是 用來設置「安全重定向」功能的。參數值爲布爾值,1表示啓用,0表示禁止,缺省值 爲啓用。 4) /proc/sys/net/ipv4/*/proxy_arp 設置是否對網絡上的arp包進行中繼。參數值爲布爾值,1表示中繼,0表示忽略, 缺省值爲0。該參數一般只對充當路由器的linux主機有用。 7、性能優化策略 7.1 基本優化 1) 關閉後臺守護進程 系統安裝完後,系統會默認啓動一些後臺守護進程,有些進程並非必需的;所以,關閉這些進程能夠節省一部分物理內存消耗。以root身份登陸系統,運行ntsysv,選中以下進程: iptables network syslog random apmd xinetd vsftpd crond local 修改完後,從新啓動系統。 如此,系統將僅僅啓動選中的這些守護進程。 2) 減小終端鏈接數 系統默認啓動6個終端,而實際上只需啓動3個便可;以root身份登陸系統,運行vi /etc/inittab,修改爲以下: # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 #4:2345:respawn:/sbin/mingetty tty4 #5:2345:respawn:/sbin/mingetty tty5 #6:2345:respawn:/sbin/mingetty tty6 如上所述,註釋掉四、五、6終端。 3) 待續。。。 7.2 網絡優化 1) 優化系統套接字緩衝區 net.core.rmem_max=16777216 net.core.wmem_max=16777216 2) 優化TCP接收/發送緩衝區 net.ipv4.tcp_rmem=4096 87380 16777216 net.ipv4.tcp_wmem=4096 65536 16777216 3) 優化網絡設備接收隊列 net.core.netdev_max_backlog=3000 4) 關閉路由相關功能 net.ipv4.conf.lo.accept_source_route=0 net.ipv4.conf.all.accept_source_route=0 net.ipv4.conf.eth0.accept_source_route=0 net.ipv4.conf.default.accept_source_route=0 net.ipv4.conf.lo.accept_redirects=0 net.ipv4.conf.all.accept_redirects=0 net.ipv4.conf.eth0.accept_redirects=0 net.ipv4.conf.default.accept_redirects=0 net.ipv4.conf.lo.secure_redirects=0 net.ipv4.conf.all.secure_redirects=0 net.ipv4.conf.eth0.secure_redirects=0 net.ipv4.conf.default.secure_redirects=0 net.ipv4.conf.lo.send_redirects=0 net.ipv4.conf.all.send_redirects=0 net.ipv4.conf.eth0.send_redirects=0 net.ipv4.conf.default.send_redirects=0 5) 優化TCP協議棧 打開TCP SYN cookie選項,有助於保護服務器免受SyncFlood攻擊。 net.ipv4.tcp_syncookies=1 打開TIME-WAIT套接字重用功能,對於存在大量鏈接的Web服務器很是有效。 net.ipv4.tcp_tw_recyle=1 net.ipv4.tcp_tw_reuse=1 減小處於FIN-WAIT-2鏈接狀態的時間,使系統能夠處理更多的鏈接。 net.ipv4.tcp_fin_timeout=30 減小TCP KeepAlive鏈接偵測的時間,使系統能夠處理更多的鏈接。 net.ipv4.tcp_keepalive_time=1800 增長TCP SYN隊列長度,使系統能夠處理更多的併發鏈接。 net.ipv4.tcp_max_syn_backlog=8192