自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux操作系統(tǒng)性能調(diào)優(yōu)的方法

系統(tǒng) Linux
Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),Linux不同的發(fā)行版本和不同的內(nèi)核對各項參數(shù)及設置均做了改動,從而使得系統(tǒng)能夠獲得更好的性能。本文分享了幾種技巧對Linux操作系統(tǒng)進行性能的優(yōu)化。

按照傳統(tǒng),Linux不同的發(fā)行版本和不同的內(nèi)核對各項參數(shù)及設置均做了改動,從而使得系統(tǒng)能夠獲得更好的性能。下邊將分四部分介紹在Red Hat Enterprise Linux AS和SUSE LINUX Enterprise Server系統(tǒng)下,如何用以下幾種技巧進行性能的優(yōu)化:

  QUOTE:

1、Disabling daemons (關閉 daemons)

2、Shutting down the GUI (關閉GUI)

3、Changing kernel parameters (改變內(nèi)核參數(shù))

4、Kernel parameters (內(nèi)核參數(shù))

5、Tuning the processor subsystem(處理器子系統(tǒng)調(diào)優(yōu))

6、Tuning the memory subsystem (內(nèi)存子系統(tǒng)調(diào)優(yōu))

7、Tuning the file system(文件系統(tǒng)子系統(tǒng)調(diào)優(yōu))

8、Tuning the network subsystem(網(wǎng)絡子系統(tǒng)調(diào)優(yōu))

1 關閉daemons

  有些運行在服務器中的daemons (后臺服務),并不是完全必要的。關閉這些daemons可釋放更多的內(nèi)存、減少啟動時間并減少CPU處理的進程數(shù)。減少daemons數(shù)量的同時也增強了服務器的安全性。缺省情況下,多數(shù)服務器都可以安全地停掉幾個daemons。

  Table 10-1列出了Red Hat Enterprise Linux AS下的可調(diào)整進程.

  Table 10-2列出了SUSE LINUX Enterprise Server下的可調(diào)整進程. 

  注意:關閉xfs daemon將導致不能啟動X,因此只有在不需要啟動GUI圖形的時候才可以關閉xfs daemon。使用startx命令前,開啟xfs daemon,恢復正常啟動X。

  可以根據(jù)需要停止某個進程,如要停止sendmail 進程,輸入如下命令:

  Red Hat: /sbin/service sendmail stop
  SUSE LINUX: /etc/init.d/sendmail stop

  也可以配置在下次啟動的時候不自動啟動某個進程,還是sendmail:

  Red Hat: /sbin/chkconfig sendmail off
  SUSE LINUX: /sbin/chkconfig -s sendmail off

  除此之外,LINUX還提供了圖形方式下的進程管理功能。對于Red Hat,啟動GUI,使用如下命令: /usr/bin/redhat-config-services 或者鼠標點擊 Main Menu -> System Settings ->

  Server Settings -> Services.

 

提示:并非所有的daemons都會顯示在該配置界面,如要看到全部的daemons,使用如下命令:

  /sbin/chkconfig –list

  對于SUSE LINUX,圖形界面是YaST2, 可用如下命令來啟動

  /sbin/yast2 runlevel 或者如Figure 10-2所示用鼠標點擊

  Browse: YaST/ ?> YaST modules ?> System ?> Runlevel editor

#p#

2 關閉GUI

  只要有可能,就不要在Linux server上啟動GUI圖形,通常在Linux server上,沒有必要啟動GUI。,所有的管理任務均可在命令行方式下完成、或者通過重定向X和Web瀏覽器界面。有幾個可用的基于Web的工具(例如webmin, Linuxconf, 和SWAT).

  需要的時候啟動GUI,用完馬上關閉GUI。多數(shù)情況,服務器運行在runlevel 3,即在機器啟動的時候不進入GUI。命令行方式下,執(zhí)行startx 來啟動Xserver.

  1. 查看runlevel的命令:runlevel

  會顯示出上次和當前的runlevel (如N 5 表示沒有上次的runlevel (N) ,當前的runlevel是5).

  2. 在不同的runlevels之間切換,使用命令 init

  如切換到run level 3,鍵入命令init 3

下邊是對Linux中不同runlevels的簡要描述

– 0 – Halt 停機(不要將0設置為缺省,否則服務器啟動后就會馬上關閉)

– 1 - Single user mode 單用戶模式

– 2 - Multi-user 不帶NFS的多用戶模式 (如果沒有網(wǎng)絡,相當與3)

– 3 - Full multi-user mode 完全多用戶模式

– 4 – Unused 未使用

– 5 - X11

– 6 – Reboot 重啟(不要將6設置為缺省,否則服務器會不斷地重啟)

  修改文件/etc/inittab 來設置機器啟動的runlevel,如Figure 10-3。

  對于SUSE LINUX Enterprise Server, 執(zhí)行YaST runlevel 命令改變?nèi)笔unlevel值.

  如圖Figure 10-2。

  缺省情況下,保存了6個控制臺:F1……F6。為節(jié)省內(nèi)存,可以減少為3個。使用mingetty ttyx命令來實現(xiàn),如圖Figure 10-3

  提示:即便是已經(jīng)關閉了GUI,依然可以遠程連接并啟動GUI,可以使用ssh-x。#p#

3 改變內(nèi)核參數(shù)

  Linux內(nèi)核是操作系統(tǒng)的核心,對所有的Linux發(fā)行版本是通用的。內(nèi)核參數(shù)可以改變,在命令行下執(zhí)行sysctl 命令。

  提示:缺省情況下,LINUX內(nèi)核包括不必重啟就可以使用sysctl命令的必要的模塊。盡管如此,如果你在安裝系統(tǒng)的時候選擇移除該功能,那么你只有重新啟動LINUX,才可以使得改變生效。

  SUSE LINUX 提供了圖形界面下的修改方式。使用如下命令來啟動powertweak工具:

  /sbin/yast powertweak

  使用如下命令啟動基于字符的管理菜單:

  /sbin/yast2 powertweak

  Red Hat也提供了圖形界面下更改sysctl參數(shù)的方式:

  /usr/bin/redhat-config-proc

如圖Figure 10-5:

  Parameter storage locations

  內(nèi)核參數(shù)保存在/proc(特別是/proc/sys),提供了內(nèi)核、處理器、內(nèi)存、網(wǎng)絡及其他組件的相關參數(shù)。每個執(zhí)行的進程都有一個以相應PID命名的目錄。Figure 10-3列出了一些包括內(nèi)核信息的文件。

4 內(nèi)核的參數(shù)

  Table 10-5 列出了Red Hat V2.4與性能關系密切的一些內(nèi)核參數(shù)。

#p#

 

 5 處理器子系統(tǒng)調(diào)優(yōu)

  處理器對于應用和數(shù)據(jù)庫服務器來講是最重要的硬件子系統(tǒng)之一。然而在這些系統(tǒng)中,CPU經(jīng)常是性能的瓶頸。

  在配有Xeon處理器的高端服務器中,你可以啟用或者關閉Hyper-Threading(超線程功能)。Hyper-Threading在操作系統(tǒng)里將一顆處理器虛擬化為兩顆使用。Red Hat Enterprise Linux AS和SUSE LINUX Enterprise Server都支持該功能,從而可以使處理器在同一時刻執(zhí)行兩個線程或者進程。對于支持Hyper-Threading的操作系統(tǒng)和軟件來說,不需要增加CPU時鐘頻率即可使性能得到明顯的改進。例如,在4路的服務器上起用Hyper-Threading功能并使用性能監(jiān)測工具(如top)來檢測,可以看到8顆處理器。如圖Figure 10-6

  提示,對于Hyper-Threading:

_ 基于SMP內(nèi)核的LINUX才可以支持Hyper-Threading

_ 安裝的CPU數(shù)量越多,從Hyper-Threading獲得的性能上的提高就越少??色@得的性能提高大約為:

– 2顆物理CPU: 15-25%

– – 4顆物理CPU: 1-13%

– – 8顆物理CPU: 0-5%

– 如需更多的關于Hyper-Threading信息,可查看更多。

  EM64T是Intel IA-32處理器的64-bit擴展。意思是,處理器能夠支持更多的內(nèi)存并支持64-bit應用同時完全兼容現(xiàn)存的32-bit應用。Red Hat Enterprise Linux 3 Update 2 和 SUSE LINUX Enterprise Server 9支持這種新的處理器。如需更多的EM64T信息,可查看更多。

  選擇正確的內(nèi)核

  Red Hat Enterprise Linux AS和SUSE LINUX Enterprise Server都包括有若干個內(nèi)核包,如Table 10-6所列。選擇合適的內(nèi)核對性能非常重要。

#p#

  6 內(nèi)存子系統(tǒng)的調(diào)優(yōu)

  內(nèi)存子系統(tǒng)的調(diào)優(yōu)不是很容易,需要不停地監(jiān)測來保證內(nèi)存的改變不會對服務器的其他子系統(tǒng)造成負面影響。如果要改變虛擬內(nèi)存參數(shù)(在/proc/sys/vm),建議您每次只改變一個參數(shù)然后監(jiān)測效果。對與虛擬內(nèi)存的調(diào)整包括以下幾個項目:

  配置Linux內(nèi)核如何更新dirty buffers到磁盤。磁盤緩沖區(qū)用于暫存磁盤的數(shù)據(jù)。相對于內(nèi)存來講,磁盤緩沖區(qū)的速度很慢。因此,如果服務器使用這類內(nèi)存,性能會成問題。當緩沖區(qū)內(nèi)的數(shù)據(jù)完全dirty,使用:sysctl -w vm.bdflush="30 500 0 0 500 3000 60 20 0"

  vm.bdflush有9個參數(shù),但是建議您只改變其中的3個:

  • nfract, 為排隊寫入磁盤前,bdflush daemon允許的緩沖區(qū)最大百分比
  • ndirty, 為bdflush即刻寫的最大緩沖區(qū)的值。如果這個值很大,bdflush需要更多的時間完成磁盤的數(shù)據(jù)更新。
  • nfract_sync, 發(fā)生同步前,緩沖區(qū)變dirty的最大百分比

  配置kswapd daemon,指定Linux的內(nèi)存交換頁數(shù)量

  sysctl -w vm.kswapd="1024 32 64"

  三個參數(shù)的描述如下:

– tries_base 相當于內(nèi)核每次所交換的“頁”的數(shù)量的四倍。對于有很多交換信息的系統(tǒng),增加這個值可以改進性能。

– tries_min 是每次kswapd swaps出去的pages的最小數(shù)量。

– swap_cluster 是kswapd 即刻寫如的pages數(shù)量。數(shù)值小,會提高磁盤I/O的性能;數(shù)值大可能也會對請求隊列產(chǎn)生負面影響。

  如果要對這些參數(shù)進行改動,請使用工具vmstat檢查對性能的影響。其它可以改進性能的虛擬內(nèi)存參數(shù)為:

  _ buffermem
  _ freepages
  _ overcommit_memory
  _ page-cluster
  _ pagecache
  _ pagetable_cache

#p#

7 網(wǎng)絡子系統(tǒng)的調(diào)優(yōu)

  操作系統(tǒng)安裝完畢,就要對網(wǎng)絡子系統(tǒng)進行調(diào)優(yōu)。對其它子系統(tǒng)的影響:影響CPU利用率,尤其在有大量TCP連接、塊尺寸又非常小時,內(nèi)存的使用會明顯增加。

如何預防性能下降

  如下的sysctl命令用于改變安全設置,但是它也可以防止網(wǎng)絡性能的下降。這些命令被設置為缺省值。

  ◆關閉如下參數(shù)可以防止黑客對服務器IP地址的攻擊

Click here to open new window

  ◆開啟TCP SYN cookies,保護服務器避免受syn-flood攻擊,包括服務取決denial-of-service (DoS) 或者分布式服務拒絕distributed denial-of-service (DDoS) (僅適用Red Hat Enterprise Linux AS)

Click here to open new window

  ◆以下命令使服務器忽略來自被列入網(wǎng)關的服務器的重定向。因重定向可以被用來進行攻擊,所以我們只接受有可靠來源的重定向。

Click here to open new window

 

另外,你可以配置接受或拒絕任何ICMP重定向。ICMP重定向是路由器傳輸路由信息的機制。比如,當網(wǎng)關接收到來自所接網(wǎng)絡主機的Internet數(shù)據(jù)報時,網(wǎng)關可以發(fā)送重定向信息到一臺主機。網(wǎng)關檢查路由表獲得下一個網(wǎng)關的地址,第二個網(wǎng)關將數(shù)據(jù)報路由到目標網(wǎng)絡.關閉這些重定向得命令如下:

Click here to open new window

  ◆如果這個服務器不是一臺路由器,那么它不會發(fā)送重定向,所以可以關閉該功能:

Click here to open new window

  ◆配置服務器拒絕接受廣播風暴或者smurf 攻擊attacks:

Click here to open new window

  ◆忽略所有icmp包或者pings:

  ◆有些路由器針對廣播禎發(fā)送無效的回應,每個都產(chǎn)生警告并在內(nèi)核產(chǎn)生日志.這些回應可以被忽略:

Click here to open new window

  8.針對TCP和UDP的調(diào)優(yōu)

  下邊的命令用來對連接數(shù)量非常大的服務器進行調(diào)優(yōu)。

  ◆對于同時支持很多連接的服務器,新的連接可以重新使用TIME-WAIT套接字. 這對于Web服務器非常有效:

  如果你使用該命令,還要啟動TIME-WAIT 套接字狀態(tài)的快速循環(huán)功能:

  圖Figure 10-7顯示出將這些功能啟用,連接數(shù)量明顯降低.因為每個TCP傳輸都包含遠程客戶端的協(xié)議信息緩存,所以有利于提高性能.緩存中存放round-trip時間、最大segment大小、擁塞窗口的信息。

Click here to open new window

  ◆參數(shù)tcp_fin_timeout 是套接字關閉時,保持FIN-WAIT-2狀態(tài)的時間。一個TCP連接以three-segment SYN序列開始, 以three-segment FIN序列結束.均不保留數(shù)據(jù).通過改變tcp_fin_timeout的值, 從FIN序列到內(nèi)存可以空閑出來處理新連接的時間縮短了,使性能得到改進.改變這個值的前要經(jīng)過認真的監(jiān)測,避免因為死套接字造成內(nèi)存溢出.

  ◆服務器的一個問題是,同一時刻的大量TCP連接里有很多的連接被打開但是沒有使用. TCP的keepalive功能檢測到這些連接,缺省情況下,在2小時之后丟掉. 2個小時的可能導致內(nèi)存過度使用,降低性能.因此改成1800秒(30分鐘)是個更好的選擇:

  ◆對于所有協(xié)議的隊列,設置最大系統(tǒng)發(fā)送緩存(wmem) 和接收緩存(rmem)到8MB

  這些設置指定了創(chuàng)建TCP套接字時為其分配的內(nèi)存容量. 另外,使用如下命令發(fā)送和接收緩存.該命令設定了三個值:最小值、初始值和最大值:

  第三個值必須小于或等于wmem_max和rmem_max。

  ◆(SUSE LINUX Enterprise Server適用) 通過保留路徑驗證來源數(shù)據(jù)包。缺省情況下,路由器轉發(fā)所有的數(shù)據(jù)包,即便是明顯的異常網(wǎng)絡流量。通過啟動和是的過濾功能,丟掉這些數(shù)據(jù)包:

  ◆當服務器負載繁重或者是有很多客戶端都是超長延時的連接故障,可能會導致half-open連接數(shù)量的增加。這對于Web服務器很來講很平常,尤其有很多撥號客戶時.這些half-open連接保存在 backlog connections 隊列中.將這個值最少設置為4096 (缺省為1024). 即便是服務器不接收這類連接,設置這個值還能防止受到denial-of-service (syn-flood)的攻擊.

  ◆設置ipfrag參數(shù),尤其是NFS和Samba服務器。這里,我們可以設置用于重新組合IP碎片的最大、最小內(nèi)存。當ipfrag_high_thresh值被指派,碎片會被丟棄直到達到ipfrag_low_thres值。

當TCP數(shù)據(jù)包傳輸發(fā)生錯誤時,開始碎片整理。有效的數(shù)據(jù)包保留在內(nèi)存,同時損壞的數(shù)據(jù)包被轉發(fā)。例如,設置可用內(nèi)存范圍從256 MB到384 MB

責任編輯:黃丹 來源: ChinaUnix
相關推薦

2013-03-20 17:18:07

Linux系統(tǒng)性能調(diào)優(yōu)

2011-03-10 14:40:54

LAMPMysql

2013-03-12 17:33:17

Linux系統(tǒng)性能調(diào)優(yōu)

2011-01-05 13:48:55

Linux提高性能

2017-07-04 13:02:02

Linux系統(tǒng)性能調(diào)優(yōu)工具

2011-03-31 13:40:34

2011-03-10 14:40:52

2013-02-28 13:37:59

系統(tǒng)性能調(diào)優(yōu)技術實戰(zhàn)

2011-03-18 11:21:48

2011-05-27 10:35:05

PerfLinux系統(tǒng)性能

2011-03-18 11:13:07

LAMP度量性能

2011-03-21 09:35:38

LAMP調(diào)優(yōu)網(wǎng)絡文件

2021-07-15 08:00:47

系統(tǒng)性能調(diào)優(yōu)cpunuma架構

2013-03-18 15:07:10

Linux系統(tǒng)性能調(diào)優(yōu)

2010-04-09 13:26:44

2011-03-10 14:40:50

2011-03-21 09:17:35

LAMP調(diào)優(yōu)磁盤

2010-03-03 10:38:59

2011-03-18 11:00:48

LAMPLAMP 架構

2011-07-01 10:09:50

ASP.NET
點贊
收藏

51CTO技術棧公眾號