日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux系统调优

發(fā)布時(shí)間:2024/9/3 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统调优 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 系統(tǒng)硬件資源
      • 1.CPU
      • 2.內(nèi)存
      • 3.磁盤I/O性能
      • 4.網(wǎng)絡(luò)寬帶
  • 操作系統(tǒng)相關(guān)資源
      • 1.系統(tǒng)安裝優(yōu)化
      • 2.內(nèi)核參數(shù)優(yōu)化
      • 3.文件系統(tǒng)優(yōu)化
  • 應(yīng)用程序軟件資源
  • 一 linux服務(wù)器性能查看
    • 1.1 cpu性能查看
      • 1、查看物理cpu個(gè)數(shù):
      • 2、查看每個(gè)物理cpu中的core個(gè)數(shù):
      • 3、邏輯cpu的個(gè)數(shù):
    • 1.2 內(nèi)存查看
      • 1、查看內(nèi)存使用情況:
    • 1.3 硬盤查看
      • 1、查看硬盤及分區(qū)信息:
      • 2、查看文件系統(tǒng)的磁盤空間占用情況:4
      • 3、查看硬盤的I/O性能(每隔一秒顯示一次,顯示5次):
      • 4、查看linux系統(tǒng)中某目錄的大小:
    • 1.4 查看平均負(fù)載
    • 1.5 其他參數(shù)
  • 二 Linux服務(wù)器性能評(píng)估
    • 2.1.1 影響Linux服務(wù)器性能的因素
      • 1. 操作系統(tǒng)級(jí)
      • 2. 程序應(yīng)用級(jí)
    • 2.1.2 系統(tǒng)性能評(píng)估標(biāo)準(zhǔn)
    • 2.1.3 系統(tǒng)性能分析工具
      • 1.常用系統(tǒng)命令
      • 2.常用組合方式
    • 2.1.4 Linux性能評(píng)估與優(yōu)化
    • 2.2.1 CPU性能評(píng)估
      • 1.利用vmstat命令監(jiān)控系統(tǒng)CPU
        • CPU
          • us
          • sy
      • 2.利用sar命令監(jiān)控系統(tǒng)CPU
    • 2.3.1 內(nèi)存性能評(píng)估
      • 1.利用free指令監(jiān)控內(nèi)存
      • 2.利用vmstat命令監(jiān)控內(nèi)存
    • 2.4.1磁盤I/O性能評(píng)估
      • 1.磁盤存儲(chǔ)基礎(chǔ)
      • 2.利用iostat評(píng)估磁盤性能
      • 3.利用sar評(píng)估磁盤性能
    • 2.5.1. 網(wǎng)絡(luò)性能評(píng)估
  • 三 Linux服務(wù)器性能調(diào)優(yōu)
    • 1.為磁盤I/O調(diào)整Linux內(nèi)核電梯算法
    • 2.禁用不必要的守護(hù)進(jìn)程,節(jié)省內(nèi)存和CPU資源
    • 3.關(guān)掉GUI
    • 4、清理不需要的模塊或功能
    • 5、禁用控制面板
    • 6、改善Linux Exim服務(wù)器性能
    • 7、使用AES256增強(qiáng)gpg文件加密安全
    • 8、遠(yuǎn)程備份服務(wù)安全
    • 9、更新默認(rèn)內(nèi)核參數(shù)設(shè)置
    • 10、優(yōu)化TCP
    • 11、選擇正確的文件系統(tǒng)
    • 12、使用noatime文件系統(tǒng)掛載選項(xiàng)
    • 13、調(diào)整Linux文件描述符限制
    • 14、正確配置MySQL
    • 15、正確配置Apache
    • 16、分析Linux服務(wù)器性能
    • 17、學(xué)習(xí)5個(gè)Linux性能命令
      • (1)top
      • (2)vmstat
      • (3)iostat
      • (4)free
      • (5)sar
    • 18、將日志文件轉(zhuǎn)移到內(nèi)存中
    • 19、先打包,后寫入
    • 20、一般調(diào)優(yōu)技巧

系統(tǒng)硬件資源

1.CPU

CPU是操作系統(tǒng)穩(wěn)定運(yùn)行的根本,CPU的速度與性能在很大程度上決定了系統(tǒng)整體的性能,因此,CPU數(shù)量越多、主頻越高,服務(wù)器性能也就相對(duì)越好。但事實(shí)并非完全如此。 目前大部分CPU在同一時(shí)間內(nèi)只能運(yùn)行一個(gè)線程,超線程的處理器可以在同一時(shí)間運(yùn)行多個(gè)線程,因此,可以利用處理器的超線程特性提高系統(tǒng)性能。在Linux系統(tǒng)下,只有運(yùn)行SMP內(nèi)核才能支持超線程,但是,安裝的CPU數(shù)量越多,從超線程獲得的性能方面的提高就越少。另外,Linux內(nèi)核會(huì)把多核的處理器當(dāng)作多個(gè)單獨(dú)的CPU來(lái)識(shí)別,例如兩個(gè)4核的CPU,在Lnux系統(tǒng)下會(huì)被當(dāng)作8個(gè)單核CPU。但是從性能角度來(lái)講,兩個(gè)4核的CPU和8個(gè)單核的CPU并不完全等價(jià),根據(jù)權(quán)威部門得出的測(cè)試結(jié)論,前者的整體性能要比后者低25%~30%。 可能出現(xiàn)CPU瓶頸的應(yīng)用有郵件服務(wù)器、動(dòng)態(tài)Web服務(wù)器等,對(duì)于這類應(yīng)用,要把CPU的配置和性能放在主要位置。

2.內(nèi)存

內(nèi)存的大小也是影響Linux性能的一個(gè)重要的因素,內(nèi)存太小,系統(tǒng)進(jìn)程將被阻塞,應(yīng)用也將變得緩慢,甚至失去響應(yīng);內(nèi)存太大,導(dǎo)致資源浪費(fèi)。Linux系統(tǒng)采用了物理內(nèi)存和虛擬內(nèi)存兩種方式,虛擬內(nèi)存雖然可以緩解物理內(nèi)存的不足,但是占用過(guò)多的虛擬內(nèi)存,應(yīng)用程序的性能將明顯下降,要保證應(yīng)用程序的高性能運(yùn)行,物理內(nèi)存一定要足夠大;但是過(guò)大的物理內(nèi)存,會(huì)造成內(nèi)存資源浪費(fèi),例如,在一個(gè)32位處理器的Linux操作系統(tǒng)上,超過(guò)8GB的物理內(nèi)存都將被浪費(fèi)。因此,要使用更大的內(nèi)存,建議安裝64位的操作系統(tǒng),同時(shí)開(kāi)啟Linux的大內(nèi)存內(nèi)核支持。 由于處理器尋址范圍的限制,在32位Linux操作系統(tǒng)上,應(yīng)用程序單個(gè)進(jìn)程最大只能使用2GB的內(nèi)存,這樣以來(lái),即使系統(tǒng)有更大的內(nèi)存,應(yīng)用程序也無(wú)法“享”用,解決的辦法就是使用64位處理器,安裝64位操作系統(tǒng)。在64位操作系統(tǒng)下,可以滿足所有應(yīng)用程序?qū)?nèi)存的使用需求,幾乎沒(méi)有限制。 可能出現(xiàn)內(nèi)存性能瓶頸的應(yīng)用有打印服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、靜態(tài)Web服務(wù)器等,對(duì)于這類應(yīng)用要把內(nèi)存大小放在主要位置。

3.磁盤I/O性能

磁盤的I/O性能直接影響應(yīng)用程序的性能,在一個(gè)有頻繁讀寫的應(yīng)用中,如果磁盤I/O性能得不到滿足,就會(huì)導(dǎo)致應(yīng)用停滯。好在現(xiàn)今的磁盤都采用了很多方法來(lái)提高I/O性能,比如常見(jiàn)的磁盤RAID技術(shù)。

RAID的英文全稱為:RedundantArrayofIndependentDisk,即獨(dú)立磁盤冗余陣列,簡(jiǎn)稱磁盤陣列。RAID通過(guò)將多塊獨(dú)立的磁盤(物理硬盤)按不同方式組合起來(lái)形成一個(gè)磁盤組(邏輯硬盤),從而提供比單個(gè)硬盤更高的I/O性能和數(shù)據(jù)冗余。 通過(guò)RAID技術(shù)組成的磁盤組,就相當(dāng)于一個(gè)大硬盤,用戶可以對(duì)它進(jìn)行分區(qū)格式化、建立文件系統(tǒng)等操作,跟單個(gè)物理硬盤一模一樣,唯一不同的是RAID磁盤組的I/O性能比單個(gè)硬盤要高很多,同時(shí)在數(shù)據(jù)的安全性也有很大提升。

根據(jù)磁盤組合方式的不同,RAID可以分為RAID0,RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID0+1、RAID10等級(jí)別,常用的RAID級(jí)別有RAID0、RAID1、RAID5、RAID0+1,這里進(jìn)行簡(jiǎn)單介紹。

RAID0:通過(guò)把多塊硬盤粘合成一個(gè)容量更大的硬盤組,提高了磁盤的性能和吞吐量。這種方式成本低,要求至少兩個(gè)磁盤,但是沒(méi)有容錯(cuò)和數(shù)據(jù)修復(fù)功能,因而只能用在對(duì)數(shù)據(jù)安全性要求不高的環(huán)境中。

RAID1:也就是磁盤鏡像,通過(guò)把一個(gè)磁盤的數(shù)據(jù)鏡像到另一個(gè)磁盤上,最大限度地保證磁盤數(shù)據(jù)的可靠性和可修復(fù)性,具有很高的數(shù)據(jù)冗余能力,但磁盤利用率只有50%,因而,成本最高,多用在保存重要數(shù)據(jù)的場(chǎng)合。

RAID5:采用了磁盤分段加奇偶校驗(yàn)技術(shù),從而提高了系統(tǒng)可靠性,RAID5讀出效率很高,寫入效率一般,至少需要3塊盤。允許一塊磁盤故障,而不影響數(shù)據(jù)的可用性。

RAID0+1:把RAID0和RAID1技術(shù)結(jié)合起來(lái)就成了RAID0+1,至少需要4個(gè)硬盤。此種方式的數(shù)據(jù)除分布在多個(gè)盤上外,每個(gè)盤都有其鏡像盤,提供全冗余能力,同時(shí)允許一個(gè)磁盤故障,而不影響數(shù)據(jù)可用性,并具有快速讀/寫能力。 通過(guò)了解各個(gè)RAID級(jí)別的性能,可以根據(jù)應(yīng)用的不同特性,選擇適合自身的RAID級(jí)別,從而保證應(yīng)用程序在磁盤方面達(dá)到最優(yōu)性能。

4.網(wǎng)絡(luò)寬帶

Linux下的各種應(yīng)用,一般都是基于網(wǎng)絡(luò)的,因此網(wǎng)絡(luò)帶寬也是影響性能的一個(gè)重要因素,低速的、不穩(wěn)定的網(wǎng)絡(luò)將導(dǎo)致網(wǎng)絡(luò)應(yīng)用程序的訪問(wèn)阻塞,而穩(wěn)定、高速的網(wǎng)絡(luò)帶寬,可以保證應(yīng)用程序在網(wǎng)絡(luò)上暢通無(wú)阻地運(yùn)行。幸運(yùn)的是,現(xiàn)在的網(wǎng)絡(luò)一般都是千兆帶寬或光纖網(wǎng)絡(luò),帶寬問(wèn)題對(duì)應(yīng)用程序性能造成的影響也在逐步降低。

操作系統(tǒng)相關(guān)資源

基于操作系統(tǒng)的性能優(yōu)化也是多方面的,可以從系統(tǒng)安裝、系統(tǒng)內(nèi)核參數(shù)、網(wǎng)絡(luò)參數(shù)、文件系統(tǒng)等幾個(gè)方面進(jìn)行衡量,下面依次進(jìn)行簡(jiǎn)單介紹。

1.系統(tǒng)安裝優(yōu)化

系統(tǒng)優(yōu)化可以從安裝操作系統(tǒng)開(kāi)始,當(dāng)安裝Linux系統(tǒng)時(shí),磁盤的劃分,SWAP內(nèi)存的分配都直接影響以后系統(tǒng)的運(yùn)行性能,例如,磁盤分配可以遵循應(yīng)用的需求:對(duì)于對(duì)寫操作頻繁而對(duì)數(shù)據(jù)安全性要求不高的應(yīng)用,可以把磁盤做成RAID0;而對(duì)于對(duì)數(shù)據(jù)安全性較高,對(duì)讀寫沒(méi)有特別要求的應(yīng)用,可以把磁盤做成RAID1;對(duì)于對(duì)讀操作要求較高,而對(duì)寫操作無(wú)特殊要求,并要保證數(shù)據(jù)安全性的應(yīng)用,可以選擇RAID5;對(duì)于對(duì)讀寫要求都很高,并且對(duì)數(shù)據(jù)安全性要求也很高的應(yīng)用,可以選擇RAID01。這樣通過(guò)不同的應(yīng)用需求設(shè)置不同的RAID級(jí)別,在磁盤底層對(duì)系統(tǒng)進(jìn)行優(yōu)化操作。

隨著內(nèi)存價(jià)格的降低和內(nèi)存容量的日益增大,對(duì)虛擬內(nèi)存SWAP的設(shè)定,現(xiàn)在已經(jīng)沒(méi)有了所謂虛擬內(nèi)存是物理內(nèi)存兩倍的要求,但是SWAP的設(shè)定還是不能忽略,根據(jù)經(jīng)驗(yàn),如果內(nèi)存較小(物理內(nèi)存小于4GB),一般設(shè)置SWAP交換分區(qū)大小為內(nèi)存的2倍;如果物理內(nèi)存大于4GB小于16GB,可以設(shè)置SWAP大小等于或略小于物理內(nèi)存即可;如果內(nèi)存大小在16GB以上,原則上可以設(shè)置SWAP為0,但并不建議這么做,因?yàn)樵O(shè)置一定大小的SWAP還是有一定作用的。

2.內(nèi)核參數(shù)優(yōu)化

系統(tǒng)安裝完成后,優(yōu)化工作并沒(méi)有結(jié)束,接下來(lái)還可以對(duì)系統(tǒng)內(nèi)核參數(shù)進(jìn)行優(yōu)化,不過(guò)內(nèi)核參數(shù)的優(yōu)化要和系統(tǒng)中部署的應(yīng)用結(jié)合起來(lái)整體考慮。例如,如果系統(tǒng)部署的是Oracle數(shù)據(jù)庫(kù)應(yīng)用,那么就需要對(duì)系統(tǒng)共享內(nèi)存段(kernel.shmmax、kernel.shmmni、kernel.shmall)、系統(tǒng)信號(hào)量(kernel.sem)、文件句柄(fs.file-max)等參數(shù)進(jìn)行優(yōu)化設(shè)置;如果部署的是Web應(yīng)用,那么就需要根據(jù)Web應(yīng)用特性進(jìn)行網(wǎng)絡(luò)參數(shù)的優(yōu)化,例如修改net.ipv4.ip_local_port_range、net.ipv4.tcp_tw_reuse、net.core.somaxconn等網(wǎng)絡(luò)內(nèi)核參數(shù)。

3.文件系統(tǒng)優(yōu)化

文件系統(tǒng)的優(yōu)化也是系統(tǒng)資源優(yōu)化的一個(gè)重點(diǎn),在Linux下可選的文件系統(tǒng)有ext2、ext3、xfs、ReiserFS,根據(jù)不同的應(yīng)用,選擇不同的文件系統(tǒng)。

Linux標(biāo)準(zhǔn)文件系統(tǒng)是從VFS開(kāi)始的,然后是ext,接著就是ext2,應(yīng)該說(shuō),ext2是Linux上標(biāo)準(zhǔn)的文件系統(tǒng),ext3是在ext2基礎(chǔ)上增加日志形成的,從VFS到ext3,其設(shè)計(jì)思想沒(méi)有太大變化,都是早期UNIX家族基于超級(jí)塊和inode的設(shè)計(jì)理念。

XFS文件系統(tǒng)是SGI開(kāi)發(fā)的一個(gè)高級(jí)日志文件系統(tǒng),后來(lái)移植到了Linux系統(tǒng)下,XFS通過(guò)分布處理磁盤請(qǐng)求、定位數(shù)據(jù)、保持Cache的一致性來(lái)提供對(duì)文件系統(tǒng)數(shù)據(jù)的低延遲、高帶寬的訪問(wèn),因此,XFS極具伸縮性,非常健壯,具有優(yōu)秀的日志記錄功能、可擴(kuò)展性強(qiáng)、快速寫入性能等優(yōu)點(diǎn)。 ReiserFS是在HansReiser領(lǐng)導(dǎo)下開(kāi)發(fā)出來(lái)的一款高性能的日志文件系統(tǒng),它通過(guò)完全平衡樹(shù)結(jié)構(gòu)來(lái)管理數(shù)據(jù),包括文件數(shù)據(jù),文件名及日志支持等,與ext2/ext3相比,最大的優(yōu)點(diǎn)是訪問(wèn)性能和安全性大幅提升。ReiserFS具有高效、合理利用磁盤空間,先進(jìn)的日志管理機(jī)制,特有的搜尋方式,海量磁盤存儲(chǔ)等優(yōu)點(diǎn)。

應(yīng)用程序軟件資源

應(yīng)用程序的優(yōu)化其實(shí)是整個(gè)優(yōu)化工程的核心,如果一個(gè)應(yīng)用程序存在BUG,那么即使所有其他方面都達(dá)到了最優(yōu)狀態(tài),整個(gè)應(yīng)用系統(tǒng)還是性能低下,所以,對(duì)應(yīng)用程序的優(yōu)化是性能優(yōu)化過(guò)程的重中之重,這就對(duì)程序架構(gòu)設(shè)計(jì)人員和程序開(kāi)發(fā)人員提出了更高的要求

一 linux服務(wù)器性能查看

1.1 cpu性能查看

1、查看物理cpu個(gè)數(shù):

cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

2、查看每個(gè)物理cpu中的core個(gè)數(shù):

cat /proc/cpuinfo |grep "cpu cores"|wc -l

3、邏輯cpu的個(gè)數(shù):

cat /proc/cpuinfo |grep "processor"|wc -l

物理cpu個(gè)數(shù)*核數(shù)=邏輯cpu個(gè)數(shù)(不支持超線程技術(shù)的情況下)

1.2 內(nèi)存查看

1、查看內(nèi)存使用情況:

#free -mtotal used free shared buffers cached Mem: 3949 2519 1430 0 189 1619 -/+ buffers/cache: 710 3239 Swap: 3576 0 3576total:內(nèi)存總數(shù) used:已經(jīng)使用的內(nèi)存數(shù) free:空閑內(nèi)存數(shù) shared:多個(gè)進(jìn)程共享的內(nèi)存總額 - buffers/cache:(已用)的內(nèi)存數(shù),即used-buffers-cached + buffers/cache:(可用)的內(nèi)存數(shù),即free+buffers+cachedBuffer Cache用于針對(duì)磁盤塊的讀寫; Page Cache用于針對(duì)文件inode的讀寫,這些Cache能有效地縮短I/O系統(tǒng)調(diào)用的時(shí)間。對(duì)操作系統(tǒng)來(lái)說(shuō)free/used是系統(tǒng)可用/占用的內(nèi)存; 對(duì)應(yīng)用程序來(lái)說(shuō)-/+ buffers/cache是可用/占用內(nèi)存,因?yàn)閎uffers/cache很快就會(huì)被使用。

我們工作時(shí)候應(yīng)該從應(yīng)用角度來(lái)看。

1.3 硬盤查看

1、查看硬盤及分區(qū)信息:

fdisk -l

2、查看文件系統(tǒng)的磁盤空間占用情況:4

df -h

3、查看硬盤的I/O性能(每隔一秒顯示一次,顯示5次):

iostat -x 1 5

iostat是含在套裝systat中的,可以用yum -y install systat來(lái)安裝。

常關(guān)注的參數(shù):

如%util接近100%,說(shuō)明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤可能存在瓶頸。 如idle小于70%,I/O的壓力就比較大了,說(shuō)明讀取進(jìn)程中有較多的wait。

4、查看linux系統(tǒng)中某目錄的大小:

du -sh /root

如發(fā)現(xiàn)某個(gè)分區(qū)空間接近用完,可以進(jìn)入該分區(qū)的掛載點(diǎn),用以下命令找出占用空間最多的文件或目錄,然后按照從大到小的順序,找出系統(tǒng)中占用最多空間的前10個(gè)文件或目錄:

du -cksh *|sort -rn|head -n 10

1.4 查看平均負(fù)載

有時(shí)候系統(tǒng)響應(yīng)很慢,但又找不到原因,這時(shí)就要查看平均負(fù)載了,看它是否有大量的進(jìn)程在排隊(duì)等待。

最簡(jiǎn)單的命令:

uptime--查看過(guò)去的1分鐘、5分鐘和15分鐘內(nèi)進(jìn)程隊(duì)列中的平均進(jìn)程數(shù)量。

還有動(dòng)態(tài)命令top
我們只關(guān)心以下部分:

top - 21:33:09 up 1:00, 1 user, load average: 0.00, 0.01, 0.05如果每個(gè)邏輯cpu當(dāng)前的活動(dòng)進(jìn)程不大于3,則系統(tǒng)性能良好;如果每個(gè)邏輯cpu當(dāng)前的活動(dòng)進(jìn)程不大于4,表示可以接受;如果每個(gè)邏輯cpu當(dāng)前的活動(dòng)進(jìn)程大于5,則系統(tǒng)性能問(wèn)題嚴(yán)重。

一般計(jì)算方法:負(fù)載值/邏輯cpu個(gè)數(shù)

還可以結(jié)合vmstat命令來(lái)判斷系統(tǒng)是否繁忙,其中:

procsr:等待運(yùn)行的進(jìn)程數(shù)。b:處在非中斷睡眠狀態(tài)的進(jìn)程數(shù)。w:被交換出去的可運(yùn)行的進(jìn)程數(shù)。memeoryswpd:虛擬內(nèi)存使用情況,單位為KB。free:空閑的內(nèi)存,單位為KB。buff:被用來(lái)作為緩存的內(nèi)存數(shù),單位為KB。swapsi:從磁盤交換到內(nèi)存的交換頁(yè)數(shù)量,單位為KB。so:從內(nèi)存交換到磁盤的交換頁(yè)數(shù)量,單位為KB。iobi:發(fā)送到塊設(shè)備的塊數(shù),單位為KB。bo:從塊設(shè)備接受的塊數(shù),單位為KB。systemin:每秒的中斷數(shù),包括時(shí)鐘中斷。cs:每秒的環(huán)境切換次數(shù)。cpu按cpu的總使用百分比來(lái)顯示。us:cpu使用時(shí)間。sy:cpu系統(tǒng)使用時(shí)間。id:閑置時(shí)間。

1.5 其他參數(shù)

查看內(nèi)核版本號(hào):uname -a簡(jiǎn)化命令:uname -r查看系統(tǒng)是32位還是64位的:file /sbin/init查看發(fā)行版:cat /etc/issue或lsb_release -a查看系統(tǒng)已載入的相關(guān)模塊:lsmod查看pci設(shè)置:lspci

二 Linux服務(wù)器性能評(píng)估

2.1.1 影響Linux服務(wù)器性能的因素

1. 操作系統(tǒng)級(jí)

CPU內(nèi)存磁盤I/O帶寬網(wǎng)絡(luò)I/O帶寬

2. 程序應(yīng)用級(jí)

2.1.2 系統(tǒng)性能評(píng)估標(biāo)準(zhǔn)

影響性能因素好壞糟糕
CPUuser% + sys%< 70%user% + sys%= 85%user% + sys% >=90%
內(nèi)存Swap In(si)=0 Swap Out(so)=0Per CPU with 10 page/sMore Swap In & Swap Out
磁盤iowait % < 20%iowait % =35%iowait % >= 50%

其中:

%user:表示CPU處在用戶模式下的時(shí)間百分比。%sys:表示CPU處在系統(tǒng)模式下的時(shí)間百分比。%iowait:表示CPU等待輸入輸出完成時(shí)間的百分比。swap in:即si,表示虛擬內(nèi)存的頁(yè)導(dǎo)入,即從SWAP DISK交換到RAMswap out:即so,表示虛擬內(nèi)存的頁(yè)導(dǎo)出,即從RAM交換到SWAP DISK

2.1.3 系統(tǒng)性能分析工具

1.常用系統(tǒng)命令

Vmstat、sar、iostat、netstat、free、ps、top等

2.常用組合方式

vmstat、sar、iostat檢測(cè)是否是CPU瓶頸free、vmstat檢測(cè)是否是內(nèi)存瓶頸iostat檢測(cè)是否是磁盤I/O瓶頸netstat檢測(cè)是否是網(wǎng)絡(luò)帶寬瓶頸

2.1.4 Linux性能評(píng)估與優(yōu)化

系統(tǒng)整體性能評(píng)估(uptime命令)
uptime

16:38:00 up 118 days, 3:01, 5 users,load average: 1.22, 1.02, 0.91

注意:

  • load average三值大小一般不能大于系統(tǒng)CPU的個(gè)數(shù)。

系統(tǒng)有8個(gè)CPU,如load average三值長(zhǎng)期大于8,說(shuō)明CPU很繁忙,負(fù)載很高,可能會(huì)影響系統(tǒng)性能。

  • 但偶爾大于8,一般不會(huì)影響系統(tǒng)性能。
  • 如load average輸出值小于CPU個(gè)數(shù),則表示CPU有空閑時(shí)間片,比如本例中的輸出,CPU是非常空閑的

2.2.1 CPU性能評(píng)估

1.利用vmstat命令監(jiān)控系統(tǒng)CPU

顯示系統(tǒng)各種資源之間相關(guān)性能簡(jiǎn)要信息,主要看CPU負(fù)載情況。

下面是vmstat命令在某個(gè)系統(tǒng)的輸出結(jié)果:

[root@node1 ~]#vmstat 2 3procs ———–memory———- —swap– —–io—- –system– —–cpu——r b swpd freebuff cache si so bi bo incs us sy idwa st0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 00 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 00 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0Procs

r–運(yùn)行和等待cpu時(shí)間片的進(jìn)程數(shù),這個(gè)值如果長(zhǎng)期大于系統(tǒng)CPU的個(gè)數(shù),說(shuō)明CPU不足,需要增加CPU

b–在等待資源的進(jìn)程數(shù),比如正在等待I/O、或者內(nèi)存交換等。

CPU

us

用戶進(jìn)程消耗的CPU 時(shí)間百分比。
us的值比較高時(shí),說(shuō)明用戶進(jìn)程消耗的cpu時(shí)間多,但是如果長(zhǎng)期大于50%,就需要考慮優(yōu)化程序或算法。

sy

內(nèi)核進(jìn)程消耗的CPU時(shí)間百分比。Sy的值較高時(shí),說(shuō)明內(nèi)核消耗的CPU資源很多。

根據(jù)經(jīng)驗(yàn),us+sy的參考值為80%,如果us+sy大于 80%說(shuō)明可能存在CPU資源不足。

2.利用sar命令監(jiān)控系統(tǒng)CPU

sar對(duì)系統(tǒng)每方面進(jìn)行單獨(dú)統(tǒng)計(jì),但會(huì)增加系統(tǒng)開(kāi)銷,不過(guò)開(kāi)銷可以評(píng)估,對(duì)系統(tǒng)的統(tǒng)計(jì)結(jié)果不會(huì)有很大影響。

下面是sar命令對(duì)某個(gè)系統(tǒng)的CPU統(tǒng)計(jì)輸出:

[root@webserver ~]# sar -u 3 5Linux 2.6.9-42.ELsmp (webserver) 11/28/2008_i686_ (8 CPU)11:41:24 AM CPU %user %nice%system %iowait %steal %idle11:41:27 AM all 0.88 0.00 0.29 0.00 0.00 98.8311:41:30 AM all 0.13 0.00 0.17 0.21 0.00 99.5011:41:33 AM all 0.04 0.00 0.04 0.00 0.00 99.9211:41:36 AM all 90.08 0.00 0.13 0.16 0.00 9.6311:41:39 AM all 0.38 0.00 0.17 0.04 0.00 99.41Average: all 0.34 0.00 0.16 0.05 0.00 99.45

輸出解釋如下:

%user列顯示了用戶進(jìn)程消耗的CPU 時(shí)間百分比。%nice列顯示了運(yùn)行正常進(jìn)程所消耗的CPU 時(shí)間百分比。%system列顯示了系統(tǒng)進(jìn)程消耗的CPU時(shí)間百分比。%iowait列顯示了IO等待所占用的CPU時(shí)間百分比%steal列顯示了在內(nèi)存相對(duì)緊張的環(huán)境下pagein強(qiáng)制對(duì)不同的頁(yè)面進(jìn)行的steal操作 。%idle列顯示了CPU處在空閑狀態(tài)的時(shí)間百分比。問(wèn)題

你是否遇到過(guò)系統(tǒng)CPU整體利用率不高,而應(yīng)用緩慢的現(xiàn)象?

在一個(gè)多CPU的系統(tǒng)中,如果程序使用了單線程,會(huì)出現(xiàn)這么一個(gè)現(xiàn)象,CPU的整體使用率不高,但是系統(tǒng)應(yīng)用卻響應(yīng)緩慢,這可能是由于程序使用單線程的原因,單線程只使用一個(gè)CPU,導(dǎo)致這個(gè)CPU占用率為100%,無(wú)法處理其它請(qǐng)求,而其它的CPU卻閑置,這就導(dǎo)致了整體CPU使用率不高,而應(yīng)用緩慢現(xiàn)象的發(fā)生。

2.3.1 內(nèi)存性能評(píng)估

1.利用free指令監(jiān)控內(nèi)存

free是監(jiān)控Linux內(nèi)存使用狀況最常用的指令,看下面的一個(gè)輸出:

[root@webserver ~]# free -mtotal used freeshared buffers cachedMem: 8111 7185 926 0 243 6299 -/+ buffers/cache: 643 7468Swap: 8189 0 8189

經(jīng)驗(yàn)公式:

應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存>70%,表示系統(tǒng)內(nèi)存資源非常充足,不影響系統(tǒng)性能;應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存<20%,表示系統(tǒng)內(nèi)存資源緊缺,需要增加系統(tǒng)內(nèi)存;20%<應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存<70%,表示系統(tǒng)內(nèi)存資源基本能滿足應(yīng)用需求,暫時(shí)不影響系統(tǒng)性能

2.利用vmstat命令監(jiān)控內(nèi)存

[root@node1 ~]# vmstat 2 3procs ———–memory———- —swap– —–io—- –system– —–cpu——r b swpd freebuff cache si so bi bo incs us sy idwa st0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 00 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 00 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0

memory

swpd--切換到內(nèi)存交換區(qū)的內(nèi)存數(shù)量(k為單位)。如swpd值偶爾非0,不影響系統(tǒng)性能free--當(dāng)前空閑的物理內(nèi)存數(shù)量(k為單位)buff--buffers cache的內(nèi)存數(shù)量,一般對(duì)塊設(shè)備的讀寫才需要緩沖cache--page cached的內(nèi)存數(shù)量

一般作為文件系統(tǒng)cached,頻繁訪問(wèn)的文件都會(huì)被cached,如cache值較大,說(shuō)明cached的文件數(shù)較多,如果此時(shí)IO中bi比較小,說(shuō)明文件系統(tǒng)效率比較好。

swap

si--由磁盤調(diào)入內(nèi)存,也就是內(nèi)存進(jìn)入內(nèi)存交換區(qū)的數(shù)量。so--由內(nèi)存調(diào)入磁盤,也就是內(nèi)存交換區(qū)進(jìn)入內(nèi)存的數(shù)量。

si、so的值長(zhǎng)期不為0,表示系統(tǒng)內(nèi)存不足。需增加系統(tǒng)內(nèi)存。

2.4.1磁盤I/O性能評(píng)估

1.磁盤存儲(chǔ)基礎(chǔ)

頻繁訪問(wèn)的文件或數(shù)據(jù)盡可能用內(nèi)存讀寫代替直接磁盤I/O,效率高千倍。

將經(jīng)常進(jìn)行讀寫的文件與長(zhǎng)期不變的文件獨(dú)立出來(lái),分別放置到不同的磁盤設(shè)備上。

對(duì)于寫操作頻繁的數(shù)據(jù),可以考慮使用裸設(shè)備代替文件系統(tǒng)。

裸設(shè)備優(yōu)點(diǎn):

數(shù)據(jù)可直接讀寫,不需經(jīng)過(guò)操作系統(tǒng)級(jí)緩存,節(jié)省內(nèi)存資源,避免內(nèi)存資源爭(zhēng)用;避免文件系統(tǒng)級(jí)維護(hù)開(kāi)銷,如文件系統(tǒng)需維護(hù)超級(jí)塊、I-node等;避免了操作系統(tǒng)cache預(yù)讀功能,減少了I/O請(qǐng)求

使用裸設(shè)備的缺點(diǎn)是:

數(shù)據(jù)管理、空間管理不靈活,需要很專業(yè)的人來(lái)操作。

2.利用iostat評(píng)估磁盤性能

[root@webserver ~]# iostat -d 2 3Linux 2.6.9-42.ELsmp (webserver) 12/01/2008_i686_ (8 CPU) Device: tps Blk_read/sBlk_wrtn/sBlk_read Blk_wrtnsda 1.87 2.58 114.12 6479462 286537372 Device: tps Blk_read/sBlk_wrtn/sBlk_read Blk_wrtnsda 0.00 0.00 0.00 0 0 Device: tps Blk_read/sBlk_wrtn/sBlk_read Blk_wrtnsda 1.00 0.00 12.00 0 24

解釋如下:

Blk_read/s--每秒讀取數(shù)據(jù)塊數(shù)Blk_wrtn/s--每秒寫入數(shù)據(jù)塊數(shù)Blk_read--讀取的所有塊數(shù)Blk_wrtn--寫入的所有塊數(shù)

可通過(guò)Blk_read/s和Blk_wrtn/s值對(duì)磁盤的讀寫性能有一個(gè)基本的了解.
如Blk_wrtn/s值很大,表示磁盤寫操作頻繁,考慮優(yōu)化磁盤或程序,
如Blk_read/s值很大,表示磁盤直接讀操作很多,可將讀取的數(shù)據(jù)放入內(nèi)存

規(guī)則遵循:

長(zhǎng)期的、超大的數(shù)據(jù)讀寫,肯定是不正常的,這種情況一定會(huì)影響系統(tǒng)性能。

3.利用sar評(píng)估磁盤性能

通過(guò)“sar –d”組合,可以對(duì)系統(tǒng)的磁盤IO做一個(gè)基本的統(tǒng)計(jì),請(qǐng)看下面的一個(gè)輸出:

[root@webserver ~]# sar -d 2 3Linux 2.6.9-42.ELsmp (webserver) 11/30/2008_i686_ (8 CPU)11:09:33 PM DEV tps rd_sec/swr_sec/savgrq-sz avgqu-sz await svctm %util11:09:35 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0011:09:35 PM DEV tps rd_sec/swr_sec/savgrq-sz avgqu-sz await svctm %util11:09:37 PM dev8-0 1.00 0.00 12.00 12.00 0.00 0.00 0.00 0.0011:09:37 PM DEV tps rd_sec/swr_sec/savgrq-sz avgqu-sz await svctm %util11:09:39 PM dev8-0 1.99 0.00 47.76 24.00 0.00 0.50 0.25 0.05Average: DEV tps rd_sec/swr_sec/savgrq-sz avgqu-sz await svctm %utilAverage: dev8-0 1.00 0.00 19.97 20.00 0.00 0.33 0.17 0.02

參數(shù)含義:

await--平均每次設(shè)備I/O操作等待時(shí)間(毫秒)svctm--平均每次設(shè)備I/O操作的服務(wù)時(shí)間(毫秒)%util--一秒中有百分之幾的時(shí)間用于I/O操作

對(duì)磁盤IO性能評(píng)判標(biāo)準(zhǔn):

正常svctm應(yīng)小于await值,而svctm和磁盤性能有關(guān),CPU、內(nèi)存負(fù)荷也會(huì)對(duì)svctm值造成影響,過(guò)多的請(qǐng)求也會(huì)間接的導(dǎo)致svctm值的增加。

await值取決svctm和I/O隊(duì)列長(zhǎng)度以及I/O請(qǐng)求模式,如果svctm的值與await很接近,表示幾乎沒(méi)有I/O等待,磁盤性能很好,如果await的值遠(yuǎn)高于svctm的值,則表示I/O隊(duì)列等待太長(zhǎng),系統(tǒng)上運(yùn)行的應(yīng)用程序?qū)⒆兟?#xff0c;此時(shí)可以通過(guò)更換更快的硬盤來(lái)解決問(wèn)題。

%util–衡量磁盤I/O重要指標(biāo),

如%util接近100%,表示磁盤產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷工作,該磁盤可能存在瓶頸。

可優(yōu)化程序或者 通過(guò)更換 更高、更快的磁盤。

2.5.1. 網(wǎng)絡(luò)性能評(píng)估

(1)通過(guò)ping命令檢測(cè)網(wǎng)絡(luò)的連通性(2)通過(guò)netstat –i組合檢測(cè)網(wǎng)絡(luò)接口狀況(3)通過(guò)netstat –r組合檢測(cè)系統(tǒng)的路由表信息(4)通過(guò)sar –n組合顯示系統(tǒng)的網(wǎng)絡(luò)運(yùn)行狀態(tài)

三 Linux服務(wù)器性能調(diào)優(yōu)

1.為磁盤I/O調(diào)整Linux內(nèi)核電梯算法

選擇文件系統(tǒng)后,該算法可以平衡低延遲需求,收集足夠數(shù)據(jù),有效組織對(duì)磁盤讀寫請(qǐng)求。

2.禁用不必要的守護(hù)進(jìn)程,節(jié)省內(nèi)存和CPU資源

許多守護(hù)進(jìn)程或服務(wù)通常非必需,消耗寶貴內(nèi)存和CPU時(shí)間。將服務(wù)器置于險(xiǎn)地。禁用可加快啟動(dòng)時(shí)間,釋放內(nèi)存。減少CPU要處理的進(jìn)程數(shù)

一些應(yīng)被禁用的Linux守護(hù)進(jìn)程,默認(rèn)自動(dòng)運(yùn)行:

序號(hào) 守護(hù)進(jìn)程 描述
1 Apmd 高級(jí)電源管理守護(hù)進(jìn)程
2 Nfslock 用于NFS文件鎖定
3 Isdn ISDN Moderm支持
4 Autofs 在后臺(tái)自動(dòng)掛載文件系統(tǒng)(如自動(dòng)掛載CD-ROM)
5 Sendmail 郵件傳輸代理
6 Xfs X Window的字體服務(wù)器

3.關(guān)掉GUI

4、清理不需要的模塊或功能

服務(wù)器軟件包中太多被啟動(dòng)的功能或模塊實(shí)際上是不需要的(如Apache中的許多功能模塊),禁用掉有助于提高系統(tǒng)內(nèi)存可用量,騰出資源給那些真正需要的軟件,讓它們運(yùn)行得更快。

5、禁用控制面板

在Linux中,有許多流行的控制面板,如Cpanel,Plesk,Webmin和phpMyAdmin等,禁用釋放出大約120MB內(nèi)存,內(nèi)存使用量大約下降30-40%。

6、改善Linux Exim服務(wù)器性能

使用DNS緩存守護(hù)進(jìn)程,可降低解析DNS記錄需要的帶寬和CPU時(shí)間,DNS緩存通過(guò)消除每次都從根節(jié)點(diǎn)開(kāi)始查找DNS記錄的需求,從而改善網(wǎng)絡(luò)性能。

Djbdns是一個(gè)非常強(qiáng)大的DNS服務(wù)器,它具有DNS緩存功能,Djbdns比BIND DNS服務(wù)器更安全,性能更好,可以直接通過(guò)http://cr.yp.to/下載,或通過(guò)Red Hat提供的軟件包獲得。

7、使用AES256增強(qiáng)gpg文件加密安全

為提高備份文件或敏感信息安全,許多Linux系統(tǒng)管理員都使用gpg進(jìn)行加密,在使用gpg時(shí),最好指定gpg使用AES256加密算法,AES256使用256位密鑰,它是一個(gè)開(kāi)放的加密算法,美國(guó)國(guó)家安全局(NSA)使用它保護(hù)絕密信息。

8、遠(yuǎn)程備份服務(wù)安全

安全是選擇遠(yuǎn)程備份服務(wù)最重要的因素,大多數(shù)系統(tǒng)管理員都害怕兩件事:(黑客)可以刪除備份文件,不能從備份恢復(fù)系統(tǒng)。

為了保證備份文件100%的安全,備份服務(wù)公司提供遠(yuǎn)程備份服務(wù)器,使用scp腳本或RSYNC通過(guò)SSH傳輸數(shù)據(jù),這樣,沒(méi)有人可以直接進(jìn)入和訪問(wèn)遠(yuǎn)程系統(tǒng),因此,也沒(méi)有人可以從備份服務(wù)刪除數(shù)據(jù)。在選擇遠(yuǎn)程備份服務(wù)提供商時(shí),最好從多個(gè)方面了解其服務(wù)強(qiáng)壯性,如果可以,可以親自測(cè)試一下。

9、更新默認(rèn)內(nèi)核參數(shù)設(shè)置

為了順利和成功運(yùn)行企業(yè)應(yīng)用程序,如數(shù)據(jù)庫(kù)服務(wù)器,可能需要更新一些默認(rèn)的內(nèi)核參數(shù)設(shè)置,例如,2.4.x系列內(nèi)核消息隊(duì)列參數(shù)msgmni有一個(gè)默認(rèn)值(例如,共享內(nèi)存,或shmmax在Red Hat系統(tǒng)上默認(rèn)只有33554432字節(jié)),它只允許有限的數(shù)據(jù)庫(kù)并發(fā)連接,下面為數(shù)據(jù)庫(kù)服務(wù)器更好地運(yùn)行提供了一些建議值(來(lái)自IBM DB2支持網(wǎng)站):

kernel.shmmax=268435456 (32位)
kernel.shmmax=1073741824 (64位)
kernel.msgmni=1024
fs.file-max=8192
kernel.sem=”250 32000 32 1024″

10、優(yōu)化TCP

優(yōu)化TCP協(xié)議有助于提高網(wǎng)絡(luò)吞吐量,跨廣域網(wǎng)的通信使用的帶寬越大,延遲時(shí)間越長(zhǎng)時(shí),建議使用越大的TCP Linux大小,以提高數(shù)據(jù)傳輸速率,TCP Linux大小決定了發(fā)送主機(jī)在沒(méi)有收到數(shù)據(jù)傳輸確認(rèn)時(shí),可以向接收主機(jī)發(fā)送多少數(shù)據(jù)。

11、選擇正確的文件系統(tǒng)

使用ext4文件系統(tǒng)取代ext3

● Ext4是ext3文件系統(tǒng)的增強(qiáng)版,擴(kuò)展了存儲(chǔ)限制

●具有日志功能,保證高水平的數(shù)據(jù)完整性(在非正常關(guān)閉事件中)

●非正常關(guān)閉和重啟時(shí),它不需要檢查磁盤(這是一個(gè)非常耗時(shí)的動(dòng)作)

●更快的寫入速度,ext4日志優(yōu)化了硬盤磁頭動(dòng)作

12、使用noatime文件系統(tǒng)掛載選項(xiàng)

在文件系統(tǒng)啟動(dòng)配置文件fstab中使用noatime選項(xiàng),如果使用了外部存儲(chǔ),這個(gè)掛載選項(xiàng)可以有效改善性能。

13、調(diào)整Linux文件描述符限制

Linux限制了任何進(jìn)程可以打開(kāi)的文件描述符數(shù)量,默認(rèn)限制是每進(jìn)程1024,這些限制可能會(huì)阻礙基準(zhǔn)測(cè)試客戶端(如httperf和apachebench)和Web服務(wù)器本身獲得最佳性能,Apache每個(gè)連接使用一個(gè)進(jìn)程,因此不會(huì)受到影響,但單進(jìn)程Web服務(wù)器,如Zeus是每連接使用一個(gè)文件描述符,因此很容易受默認(rèn)限制的影響。

打開(kāi)文件限制是一個(gè)可以用ulimit命令調(diào)整的限制,ulimit -aS命令顯示當(dāng)前的限制,ulimit -aH命令顯示硬限制(在未調(diào)整/proc中的內(nèi)核參數(shù)前,你不能增加限制)。

Linux第三方應(yīng)用程序性能技巧

對(duì)于運(yùn)行在Linux上的第三方應(yīng)用程序,一樣有許多性能優(yōu)化技巧,這些技巧可以幫助你提高Linux服務(wù)器的性能,降低運(yùn)行成本。

14、正確配置MySQL

為了給MySQL分配更多的內(nèi)存,可設(shè)置MySQL緩存大小,要是MySQL服務(wù)器實(shí)例使用了更多內(nèi)存,就減少緩存大小,如果MySQL在請(qǐng)求增多時(shí)停滯不動(dòng),就增加MySQL緩存。

15、正確配置Apache

檢查Apache使用了多少內(nèi)存,再調(diào)整StartServers和MinSpareServers參數(shù),以釋放更多的內(nèi)存,將有助于你節(jié)省30-40%的內(nèi)存。

16、分析Linux服務(wù)器性能

提高系統(tǒng)效率最好的辦法是找出導(dǎo)致整體速度下降的瓶頸并解決掉,下面是找出系統(tǒng)關(guān)鍵瓶頸的一些基本技巧:

● 當(dāng)大型應(yīng)用程序,如OpenOffice和Firefox同時(shí)運(yùn)行時(shí),計(jì)算機(jī)可能會(huì)開(kāi)始變慢,內(nèi)存不足的出現(xiàn)幾率更高。

● 如果啟動(dòng)時(shí)真的很慢,可能是應(yīng)用程序初次啟動(dòng)需要較長(zhǎng)的加載時(shí)間,一旦啟動(dòng)好后運(yùn)行就正常了,否則很可能是硬盤太慢了。

●CPU負(fù)載持續(xù)很高,內(nèi)存也夠用,但CPU利用率很低,可以使用CPU負(fù)載分析工具監(jiān)控負(fù)載時(shí)間。

17、學(xué)習(xí)5個(gè)Linux性能命令

使用幾個(gè)命令就可以管理Linux系統(tǒng)的性能了,下面列出了5個(gè)最常用的Linux性能命令,包括
top、vmstat、iostat、free和sar,它們有助于系統(tǒng)管理員快速解決性能問(wèn)題。

(1)top

當(dāng)前內(nèi)核服務(wù)的任務(wù),還顯示許多主機(jī)狀態(tài)的統(tǒng)計(jì)數(shù)據(jù),默認(rèn)情況下,它每隔5秒自動(dòng)更新一次。
如:當(dāng)前正常運(yùn)行時(shí)間,系統(tǒng)負(fù)載,進(jìn)程數(shù)量和內(nèi)存使用率,

此外,這個(gè)命令也顯示了那些使用最多CPU時(shí)間的進(jìn)程(包括每個(gè)進(jìn)程的各種信息,如運(yùn)行用戶,執(zhí)行的命令等)。

(2)vmstat

Vmstat命令提供當(dāng)前CPU、IO、進(jìn)程和內(nèi)存使用率的快照,它和top命令類似,自動(dòng)更新數(shù)據(jù),如:

$ vmstat 10

(3)iostat

Iostat提供三個(gè)報(bào)告:CPU利用率、設(shè)備利用率和網(wǎng)絡(luò)文件系統(tǒng)利用率,使用-c,-d和-h參數(shù)可以分別獨(dú)立顯示這三個(gè)報(bào)告。

(4)free

顯示主內(nèi)存和交換空間內(nèi)存統(tǒng)計(jì)數(shù)據(jù),指定-t參數(shù)顯示總內(nèi)存,指定-b參數(shù)按字節(jié)為單位,使用-m則以兆為單位,默認(rèn)情況下千字節(jié)為單位。

Free命令也可以使用-s參數(shù)加一個(gè)延遲時(shí)間(單位:秒)連續(xù)運(yùn)行,如:

$ free -s 5

(5)sar

收集,查看和記錄性能數(shù)據(jù),這個(gè)命令比前面幾個(gè)命令歷史更悠久,它可以收集和顯示較長(zhǎng)周期的數(shù)據(jù)。

其它

下面是一些歸類為其它的性能技巧:

18、將日志文件轉(zhuǎn)移到內(nèi)存中

當(dāng)一臺(tái)機(jī)器處于運(yùn)行中時(shí),最好是將系統(tǒng)日志放在內(nèi)存中,當(dāng)系統(tǒng)關(guān)閉時(shí)再將其復(fù)制到硬盤,當(dāng)你運(yùn)行一臺(tái)開(kāi)啟了syslog功能的筆記本電腦或移動(dòng)設(shè)備時(shí),ramlog可以幫助你提高系統(tǒng)電池或移動(dòng)設(shè)備閃存驅(qū)動(dòng)器的壽命,使用ramlog的一個(gè)好處是,不用再擔(dān)心某個(gè)守護(hù)進(jìn)程每隔30秒向syslog發(fā)送一條消息,放在以前,硬盤必須隨時(shí)保持運(yùn)轉(zhuǎn),這樣對(duì)硬盤和電池都不好。

19、先打包,后寫入

在內(nèi)存中劃分出固定大小的空間保存日志文件,這意味著筆記本電腦硬盤不用一直保持運(yùn)轉(zhuǎn),只有當(dāng)某個(gè)守護(hù)進(jìn)程需要寫入日志時(shí)才運(yùn)轉(zhuǎn),注意ramlog使用的內(nèi)存空間大小是固定的,否則系統(tǒng)內(nèi)存會(huì)很快被用光,如果筆記本使用固態(tài)硬盤,可以分配50-80MB內(nèi)存給ramlog使用,ramlog可以減少許多寫入周期,極大地提高固態(tài)硬盤的使用壽命。

20、一般調(diào)優(yōu)技巧

盡可能使用靜態(tài)內(nèi)容替代動(dòng)態(tài)內(nèi)容,如果你在生成天氣預(yù)告,或其它每隔1小時(shí)就必須更新的數(shù)據(jù),最好是寫一個(gè)程序,每隔1小時(shí)生成一個(gè)靜態(tài)的文件,而不是讓用戶運(yùn)行一個(gè)CGI動(dòng)態(tài)地生成報(bào)告。

為動(dòng)態(tài)應(yīng)用程序選擇最快最合適的API,CGI可能最容易編程,但它會(huì)為每個(gè)請(qǐng)求產(chǎn)生一個(gè)進(jìn)程,通常,這是一個(gè)成本很高,且不必要的過(guò)程,FastCGI是更好的選擇,和Apache的mod_perl一樣,都可以極大地提高應(yīng)用程序的性能。

總結(jié)

以上是生活随笔為你收集整理的Linux系统调优的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。