新聞中心
在現(xiàn)代社會中,計算機已經(jīng)成為人們生活中不可或缺的一部分。作為一個開放源代碼的操作系統(tǒng),Linux在計算機領(lǐng)域中已經(jīng)占據(jù)了相當(dāng)大的市場份額。但是,在進行復(fù)雜計算或運行大型程序時,系統(tǒng)的處理能力很可能會受到限制,從而無法順暢地工作。因此,為了提高Linux系統(tǒng)的處理性能和響應(yīng)速度,開發(fā)了一些CPU加壓工具。下面將詳細介紹這些工具的作用,原理和使用方法。

成都創(chuàng)新互聯(lián)專注骨干網(wǎng)絡(luò)服務(wù)器租用10多年,服務(wù)更有保障!服務(wù)器租用,成都溫江機房 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問。靈活、實現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。
1. 什么是CPU加壓工具?
CPU加壓工具是一種用于檢測和提升操作系統(tǒng)處理能力的軟件工具。它可以在不同運行時條件下模擬大量的工作負載,從而測試出系統(tǒng)在不同負載下的性能表現(xiàn)。同時,它也可以為用戶提供一些測試工具來模擬不同負載環(huán)境,以判斷系統(tǒng)的性能是否滿足用戶的需求。CPU加壓工具在測試系統(tǒng)的穩(wěn)定性、安全性以及性能表現(xiàn)時,是非常重要的。
2. CPU加壓工具的原理是什么?
CPU加壓工具可以通過訪問操作系統(tǒng)的API和測試工具來模擬機器的工作負載,以測試系統(tǒng)在不同負載下的性能表現(xiàn)。這些工具可以模擬多個線程并行執(zhí)行,確保系統(tǒng)在高負載下仍能正常運行。
使用CPU加壓工具的好處是可以發(fā)現(xiàn)隱藏的軟件和硬件的瓶頸,以及測試系統(tǒng)在極端負載下的穩(wěn)定性。這些工具也可以幫助用戶優(yōu)化系統(tǒng)資源,提高響應(yīng)速度和性能表現(xiàn),最終提高用戶的滿意度。
3. CPU加壓工具的使用方法
一般來說,CPU加壓工具使用起來并不復(fù)雜,只需要按照下面的步驟進行操作即可:
1. 確定測試的場景和目標(biāo),配置正確的測試參數(shù),例如CPU使用率、I/O負載等。
2. 運行測試并觀察系統(tǒng)的響應(yīng)結(jié)果,測試結(jié)果一般包括響應(yīng)時間、吞吐量等。
3. 根據(jù)測試結(jié)果和測試場景進行調(diào)整,優(yōu)化系統(tǒng)參數(shù)和架構(gòu),提高系統(tǒng)性能和響應(yīng)速度。
在使用CPU加壓工具時,需要注意以下幾點:
(1)在進行測試之前,需要驗證測試場景和目標(biāo),確保測試結(jié)果反映了真實的處理性能和負載情況。
(2)確保系統(tǒng)在測試之前有足夠的資源,以確保不會影響正在運行的業(yè)務(wù)。
(3)在測試期間,需要密切關(guān)注系統(tǒng)響應(yīng)時間和資源使用情況,以確保系統(tǒng)運行穩(wěn)定,并盡可能減少對正在運行的業(yè)務(wù)的干擾。
(4)在測試完成后,需要對測試結(jié)果進行分析,優(yōu)化系統(tǒng)配置和架構(gòu),以提高系統(tǒng)的處理性能和響應(yīng)速度。
4. 常見的CPU加壓工具有哪些?
常見的CPU加壓工具包括下列五種:
(1)Stress工具
Stress工具是一個開源的Linux CPU壓力測試工具,可以模擬CPU、I/O和內(nèi)存的負載情況。它可以幫助用戶測試服務(wù)器的承載能力,同時也可以用于測試新硬件和軟件的性能表現(xiàn)。
(2)Syench工具
Syench工具也是一個廣泛使用的開源Linux壓力測試工具,它可以模擬CPU、I/O和內(nèi)存等負載情況,并提供各種測試環(huán)境供用戶選擇。Syench工具也可以用于測試數(shù)據(jù)庫的性能表現(xiàn)。
(3)Nmon工具
Nmon工具是一個Linux系統(tǒng)性能監(jiān)控工具,可以幫助用戶監(jiān)控CPU、內(nèi)存、網(wǎng)絡(luò)以及磁盤等方面的系統(tǒng)性能表現(xiàn)。Nmon工具還提供了一個命令行界面,可以方便用戶快速進行任意請求或操作。
(4)vmstat工具
vmstat工具是一個廣泛使用的Linux系統(tǒng)工具,可以檢測CPU和內(nèi)存使用情況,并可生成報告。vmstat工具可以幫助用戶追蹤系統(tǒng)的性能表現(xiàn),包括內(nèi)存使用情況、I/O等。
(5)iostat工具
iostat工具可以幫助用戶監(jiān)控硬盤的性能表現(xiàn),包括磁盤讀寫速度、I/O吞吐量等方面的表現(xiàn)。iostat工具也可以用于監(jiān)控網(wǎng)絡(luò)的流量、CPU使用情況等。
CPU加壓工具是在測試系統(tǒng)穩(wěn)定性、性能表現(xiàn)、安全性方面非常重要的軟件工具??梢愿鶕?jù)不同的測試目標(biāo)選擇相應(yīng)的工具,以幫助優(yōu)化系統(tǒng)配置、提高處理能力和響應(yīng)速度,提高用戶的滿意度。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220linux系統(tǒng)性能怎么優(yōu)化
linux系統(tǒng)性能怎么優(yōu)化
一、前提
我們可以在文章的開始就列出一個列表,列出可能影響Linux操作系統(tǒng)性能的一些調(diào)優(yōu)參數(shù),但這樣做其實并沒有什么價值。因為性能調(diào)優(yōu)是一個非常困難的任務(wù),它要求對硬件、操作系統(tǒng)、和應(yīng)用都有著相當(dāng)深入的了解。如果性能調(diào)優(yōu)非常簡單的話,那些我們要列出的調(diào)優(yōu)參數(shù)早就寫入硬件的微碼或者操作系統(tǒng)中了,我們就沒有必要再繼續(xù)讀這篇文章了。正如下圖所示,服務(wù)器的性能受到很多因素的影響。
當(dāng)面對一個使用單獨IDE硬盤的,有20230用戶的數(shù)據(jù)庫服務(wù)器時,即使我們使用數(shù)周時間去調(diào)整I/O子系統(tǒng)也是徒勞無功的,通常一個新的驅(qū)動或者應(yīng)用程序的一個更新(如SQL優(yōu)化)卻可以使這個服務(wù)器的性能得到明顯的提升。正如我們前面提到的,不要忘記系統(tǒng)的性能是受多方面因素影響的。理解操作系統(tǒng)管理系統(tǒng)資源的方法將幫助我們在面對問題時更好的判斷應(yīng)該對哪個子系統(tǒng)進行調(diào)整。
二、Linux的CPU調(diào)度
任何計算機的基本功能都十分簡單,那就是計算。為了實現(xiàn)計算的功能就必須有一個方法去管理計算資源、處理器和計算任務(wù)(也被叫做線程或者進程)。非常感謝Ingo Molnar,他為Linux內(nèi)核帶來了O(1)CPU調(diào)度器,區(qū)別于舊有的O(n)調(diào)度器,新的調(diào)度器是動態(tài)的,可以支持負載均衡,并以恒定的速度進行操作。
新調(diào)度器的可擴展性非常好,無論進程數(shù)量或者處理器數(shù)量,并且調(diào)度器本身的系統(tǒng)開銷更少。新調(diào)取器的算法使用兩個優(yōu)先級隊列。
引用
?活動運行隊列
?過期運行隊列
調(diào)度器的一個重要目標(biāo)是根據(jù)優(yōu)先級權(quán)限有效地為進程分配CPU 時間片,當(dāng)分配完成后它被列在CPU的運行隊列中,除了 CPU 的運行隊列之外,還有一個過期運行隊列。當(dāng)活動運行隊列中的一個任務(wù)用光自己的時間片之后,它就被移動到過期運行隊列中。在移動過程中,會對其時間片重新進行計算。喊猜如果活動運行隊列中已經(jīng)沒有某個給定優(yōu)先級的任務(wù)了,那么指向活動運行隊列和過期運行隊列的指針就會交換,這樣就可以讓過期優(yōu)先級列表變成活動優(yōu)先級的列表。通常交互式進程(相對與實時進程而言)都有一個較高的優(yōu)先級,它占有更長的時間片,比低優(yōu)先級的進程獲得更多的計算時間,但通過調(diào)度器自身的調(diào)整并不會使低優(yōu)先級的進程完全被餓死。新調(diào)度器的優(yōu)勢是顯著的改變Linux內(nèi)核的可擴展性,使新內(nèi)核可以更好的處理一些有大量進程、大量處理器組成的企業(yè)級應(yīng)用。新的O(1)調(diào)度器包含仔2.6內(nèi)核中,但是也向下兼容2.4內(nèi)核。
新調(diào)度器另外一個重要的優(yōu)勢是體現(xiàn)在對NUMA(non-uniform memory architecture)和P(symmetric multithreading processors)的支持上,例如INTEL@的超線程技術(shù)。
改進的NUMA支持保證了負載均衡不會發(fā)生在CECs或者NUMA節(jié)點之間,除非發(fā)生一個節(jié)閉瞎點的超出負載限度。
三、Linux的內(nèi)存架構(gòu)
今天我們面對選擇32位操作系統(tǒng)還是64位操作系統(tǒng)的情況。對企業(yè)級用戶它們之間更大的區(qū)別是64位操作系統(tǒng)可以支持大于4GB的內(nèi)存尋址。從性能角度來講,我們需要了解32位和64位操作系統(tǒng)都是如何進行物理內(nèi)存和虛擬內(nèi)存的映射的。
在上面圖示中我們可以看到64位和32位Linux內(nèi)核在尋址上有著顯著的不同。
在32位架構(gòu)中,比如IA-32,Linux內(nèi)核可以直接尋址的范圍只有物理內(nèi)存的之一個GB(如果去掉保留部分還剩下896MB),訪問內(nèi)存必須被映射到這小于1GB的所謂ZONE_NORMAL空間中,這個操作是由應(yīng)用程序完成的。但是分配在ZONE_HIGHMEM中的內(nèi)存頁將導(dǎo)致性能的降低。
在另一方面,64位架構(gòu)比如x86-64(也稱作EM64T或者AMD64)。ZONE_NORMAL空間將擴展到64GB或者128GB(實際上可以更多,但是這個數(shù)值受到操作系統(tǒng)本身支持內(nèi)存容量的限制)。正如我們看到的,使用64位操作系統(tǒng)我們排除了因ZONE_HIGHMEM部分內(nèi)存對性能的影響的情況。
實際中,在32位架構(gòu)下,由于上面所描述的內(nèi)存尋址問題,對于大內(nèi)存,高負載應(yīng)用,會導(dǎo)致死機或嚴重緩慢等問題。雖然使用hugemen核心可緩解,但采取x86_64架構(gòu)是更佳的解決辦法。
四、虛擬內(nèi)存管鄭態(tài)型理
因為操作系統(tǒng)將內(nèi)存都映射為虛擬內(nèi)存,所以操作系統(tǒng)的物理內(nèi)存結(jié)構(gòu)對用戶和應(yīng)用來說通常都是不可見的。如果想要理解Linux系統(tǒng)內(nèi)存的調(diào)優(yōu),我們必須了解Linux的虛擬內(nèi)存機制。應(yīng)用程序并不分配物理內(nèi)存,而是向Linux內(nèi)核請求一部分映射為虛擬內(nèi)存的內(nèi)存空間。如下圖所示虛擬內(nèi)存并不一定是映射物理內(nèi)存中的空間,如果應(yīng)用程序有一個大容量的請求,也可能會被映射到在磁盤子系統(tǒng)中的swap空間中。
另外要提到的是,通常應(yīng)用程序不直接將數(shù)據(jù)寫到磁盤子系統(tǒng)中,而是寫入緩存和緩沖區(qū)中。Bdflush守護進程將定時將緩存或者緩沖區(qū)中的數(shù)據(jù)寫到硬盤上。
Linux內(nèi)核處理數(shù)據(jù)寫入磁盤子系統(tǒng)和管理磁盤緩存是緊密聯(lián)系在一起的。相對于其他的操作系統(tǒng)都是在內(nèi)存中分配指定的一部分作為磁盤緩存,Linux處理內(nèi)存更加有效,默認情況下虛擬內(nèi)存管理器分配所有可用內(nèi)存空間作為磁盤緩存,這就是為什么有時我們觀察一個配置有數(shù)G內(nèi)存的Linux系統(tǒng)可用內(nèi)存只有20MB的原因。
同時Linux使用swap空間的機制也是相當(dāng)高效率的,如上圖所示虛擬內(nèi)存空間是由物理內(nèi)存和磁盤子系統(tǒng)中的swap空間共同組成的。如果虛擬內(nèi)存管理器發(fā)現(xiàn)一個已經(jīng)分配完成的內(nèi)存分頁已經(jīng)長時間沒有被調(diào)用,它將把這部分內(nèi)存分頁移到swap空間中。經(jīng)常我們會發(fā)現(xiàn)一些守護進程,比如getty,會隨系統(tǒng)啟動但是卻很少會被應(yīng)用到。這時為了釋放昂貴的主內(nèi)存資源,系統(tǒng)會將這部分內(nèi)存分頁移動到swap空間中。上述就是Linux使用swap空間的機制,當(dāng)swap分區(qū)使用超過50%時,并不意味著物理內(nèi)存的使用已經(jīng)達到瓶頸了,swap空間只是Linux內(nèi)核更好的使用系統(tǒng)資源的一種方法。
簡單理解:Swap usage只表示了Linux管理內(nèi)存的有效性。對識別內(nèi)存瓶頸來說,Swap In/Out才是一個比較又意義的依據(jù),如果Swap In/Out的值長期保持在每秒200到300個頁面通常就表示系統(tǒng)可能存在內(nèi)存的瓶頸。下面的事例是好的狀態(tài):
引用
# vmstat
procs ———–memory————- —swap– —–io—- –system– —-cpu—-
r b swpd free buff cache si so bi bo in cs us sy id wa
五、模塊化的I/O調(diào)度器
就象我們知道的Linux2.6內(nèi)核為我們帶來了很多新的特性,這其中就包括了新的I/O調(diào)度機制。舊的2.4內(nèi)核使用一個單一的I/O調(diào)度器,2.6 內(nèi)核為我們提供了四個可選擇的I/O調(diào)度器。因為Linux系統(tǒng)應(yīng)用在很廣闊的范圍里,不同的應(yīng)用對I/O設(shè)備和負載的要求都不相同,例如一個筆記本電腦和一個10000用戶的數(shù)據(jù)庫服務(wù)器對I/O的要求肯定有著很大的區(qū)別。
引用
(1).Anticipatory
anticipatory I/O調(diào)度器創(chuàng)建假設(shè)一個塊設(shè)備只有一個物理的查找磁頭(例如一個單獨的SATA硬盤),正如anticipatory調(diào)度器名字一樣,anticipatory調(diào)度器使用“anticipatory”的算法寫入硬盤一個比較大的數(shù)據(jù)流代替寫入多個隨機的小的數(shù)據(jù)流,這樣有可能導(dǎo)致寫 I/O操作的一些延時。這個調(diào)度器適用于通常的一些應(yīng)用,比如大部分的個人電腦。
(2).Complete Fair Queuing (CFQ)
Complete Fair Queuing(CFQ)調(diào)度器是Red Flag DC Server 5使用的標(biāo)準(zhǔn)算法。CFQ調(diào)度器使用QoS策略為系統(tǒng)內(nèi)的所有任務(wù)分配相同的帶寬。CFQ調(diào)度器適用于有大量計算進程的多用戶系統(tǒng)。它試圖避免進程被餓死和實現(xiàn)了比較低的延遲。
(3).Deadline
deadline調(diào)度器是使用deadline算法的輪詢的調(diào)度器,提供對I/O子系統(tǒng)接近實時的操作,deadline調(diào)度器提供了很小的延遲和維持一個很好的磁盤吞吐量。如果使用deadline算法請確保進程資源分配不會出現(xiàn)問題。
(4).NOOP
NOOP調(diào)度器是一個簡化的調(diào)度程序它只作最基本的合并與排序。與桌面系統(tǒng)的關(guān)系不是很大,主要用在一些特殊的軟件與硬件環(huán)境下,這些軟件與硬件一般都擁有自己的調(diào)度機制對內(nèi)核支持的要求很小,這很適合一些嵌入式系統(tǒng)環(huán)境。作為桌面用戶我們一般不會選擇它。
六、網(wǎng)絡(luò)子系統(tǒng)
新的網(wǎng)絡(luò)中斷緩和(NAPI)對網(wǎng)絡(luò)子系統(tǒng)帶來了改變,提高了大流量網(wǎng)絡(luò)的性能。Linux內(nèi)核在處理網(wǎng)絡(luò)堆棧時,相比降低系統(tǒng)占用率和高吞吐量更關(guān)注可靠性和低延遲。所以在某些情況下,Linux建立一個防火墻或者文件、打印、數(shù)據(jù)庫等企業(yè)級應(yīng)用的性能可能會低于相同配置的Windows服務(wù)器。
在傳統(tǒng)的處理網(wǎng)絡(luò)封包的方式中,如下圖藍色箭頭所描述的,一個以太網(wǎng)封包到達網(wǎng)卡接口后,如果MAC地址相符合會被送到網(wǎng)卡的緩沖區(qū)中。網(wǎng)卡然后將封包移到操作系統(tǒng)內(nèi)核的網(wǎng)絡(luò)緩沖區(qū)中并且對CPU發(fā)出一個硬中斷,CPU會處理這個封包到相應(yīng)的網(wǎng)絡(luò)堆棧中,可能是一個TCP端口或者Apache應(yīng)用中。
這是一個處理網(wǎng)絡(luò)封包的簡單的流程,但從中我們可以看到這個處理方式的缺點。正如我們看到的,每次適合網(wǎng)絡(luò)封包到達網(wǎng)絡(luò)接口都將對CPU發(fā)出一個硬中斷信號,中斷CPU正在處理的其他任務(wù),導(dǎo)致切換動作和對CPU緩存的操作。你可能認為當(dāng)只有少量的網(wǎng)絡(luò)封包到達網(wǎng)卡的情況下這并不是個問題,但是千兆網(wǎng)絡(luò)和現(xiàn)代的應(yīng)用將帶來每秒鐘成千上萬的網(wǎng)絡(luò)數(shù)據(jù),這就有可能對性能造成不良的影響。
正是因為這個情況,NAPI在處理網(wǎng)絡(luò)通訊的時候引入了計數(shù)機制。對之一個封包,NAPI以傳統(tǒng)的方式進行處理,但是對后面的封包,網(wǎng)卡引入了POLL 的輪詢機制:如果一個封包在網(wǎng)卡DMA環(huán)的緩存中,就不再為這個封包申請新的中斷,直到最后一個封包被處理或者緩沖區(qū)被耗盡。這樣就有效的減少了因為過多的中斷CPU對系統(tǒng)性能的影響。同時,NAPI通過創(chuàng)建可以被多處理器執(zhí)行的軟中斷改善了系統(tǒng)的可擴展性。NAPI將為大量的企業(yè)級多處理器平臺帶來幫助,它要求一個啟用NAPI的驅(qū)動程序。在今天很多驅(qū)動程序默認沒有啟用NAPI,這就為我們調(diào)優(yōu)網(wǎng)絡(luò)子系統(tǒng)的性能提供了更廣闊的空間。
七、理解Linux調(diào)優(yōu)參數(shù)
因為Linux是一個開源操作系統(tǒng),所以又大量可用的性能監(jiān)測工具。對這些工具的選擇取決于你的個人喜好和對數(shù)據(jù)細節(jié)的要求。所有的性能監(jiān)測工具都是按照同樣的規(guī)則來工作的,所以無論你使用哪種監(jiān)測工具都需要理解這些參數(shù)。下面列出了一些重要的參數(shù),有效的理解它們是很有用處的。
(1)處理器參數(shù)
引用
?CPU utilization
這是一個很簡單的參數(shù),它直觀的描述了每個CPU的利用率。在xSeries架構(gòu)中,如果CPU的利用率長時間的超過80%,就可能是出現(xiàn)了處理器的瓶頸。
?Runable processes
這個值描述了正在準(zhǔn)備被執(zhí)行的進程,在一個持續(xù)時間里這個值不應(yīng)該超過物理CPU數(shù)量的10倍,否則CPU方面就可能存在瓶頸。
?Blocked
描述了那些因為等待I/O操作結(jié)束而不能被執(zhí)行的進程,Blocked可能指出你正面臨I/O瓶頸。
?User time
描述了處理用戶進程的百分比,包括nice time。如果User time的值很高,說明系統(tǒng)性能用在處理實際的工作。
?System time
描述了CPU花費在處理內(nèi)核操作包括IRQ和軟件中斷上面的百分比。如果system time很高說明系統(tǒng)可能存在網(wǎng)絡(luò)或者驅(qū)動堆棧方面的瓶頸。一個系統(tǒng)通常只花費很少的時間去處理內(nèi)核的操作。
?Idle time
描述了CPU空閑的百分比。
?Nice time
描述了CPU花費在處理re-nicing進程的百分比。
?Context switch
系統(tǒng)中線程之間進行交換的數(shù)量。
?Waiting
CPU花費在等待I/O操作上的總時間,與blocked相似,一個系統(tǒng)不應(yīng)該花費太多的時間在等待I/O操作上,否則你應(yīng)該進一步檢測I/O子系統(tǒng)是否存在瓶頸。
?Interrupts
Interrupts 值包括硬Interrupts和軟Interrupts,硬Interrupts會對系統(tǒng)性能帶來更多的不利影響。高的Interrupts值指出系統(tǒng)可能存在一個軟件的瓶頸,可能是內(nèi)核或者驅(qū)動程序。注意Interrupts值中包括CPU時鐘導(dǎo)致的中斷(現(xiàn)代的xServer系統(tǒng)每秒1000個 Interrupts值)。
(2)內(nèi)存參數(shù)
引用
?Free memory
相比其他操作系統(tǒng),Linux空閑內(nèi)存的值不應(yīng)該做為一個性能參考的重要指標(biāo),因為就像我們之前提到過的,Linux內(nèi)核會分配大量沒有被使用的內(nèi)存作為文件系統(tǒng)的緩存,所以這個值通常都比較小。
?Swap usage
這 個值描述了已經(jīng)被使用的swap空間。Swap usage只表示了Linux管理內(nèi)存的有效性。對識別內(nèi)存瓶頸來說,Swap In/Out才是一個比較又意義的依據(jù),如果Swap In/Out的值長期保持在每秒200到300個頁面通常就表示系統(tǒng)可能存在內(nèi)存的瓶頸。
?Buffer and cache
這個值描述了為文件系統(tǒng)和塊設(shè)備分配的緩存。在Red Flag DC Server 5版本中,你可以通過修改/proc/sys/vm中的page_cache_tuning來調(diào)整空閑內(nèi)存中作為緩存的數(shù)量。
?Slabs
描述了內(nèi)核使用的內(nèi)存空間,注意內(nèi)核的頁面是不能被交換到磁盤上的。
?Active versus inactive memory
提供了關(guān)于系統(tǒng)內(nèi)存的active內(nèi)存信息,Inactive內(nèi)存是被kswapd守護進程交換到磁盤上的空間。
(3)網(wǎng)絡(luò)參數(shù)
引用
?Packets received and sent
這個參數(shù)表示了一個指定網(wǎng)卡接收和發(fā)送的數(shù)據(jù)包的數(shù)量。
?Bytes received and sent
這個參數(shù)表示了一個指定網(wǎng)卡接收和發(fā)送的數(shù)據(jù)包的字節(jié)數(shù)。
?Collisions per second
這個值提供了發(fā)生在指定網(wǎng)卡上的網(wǎng)絡(luò)沖突的數(shù)量。持續(xù)的出現(xiàn)這個值代表在網(wǎng)絡(luò)架構(gòu)上出現(xiàn)了瓶頸,而不是在服務(wù)器端出現(xiàn)的問題。在正常配置的網(wǎng)絡(luò)中沖突是非常少見的,除非用戶的網(wǎng)絡(luò)環(huán)境都是由hub組成。
?Packets dropped
這個值表示了被內(nèi)核丟掉的數(shù)據(jù)包數(shù)量,可能是因為防火墻或者是網(wǎng)絡(luò)緩存的缺乏。
?Overruns
Overruns表達了超出網(wǎng)絡(luò)接口緩存的次數(shù),這個參數(shù)應(yīng)該和packets dropped值聯(lián)系到一起來判斷是否存在在網(wǎng)絡(luò)緩存或者網(wǎng)絡(luò)隊列過長方面的瓶頸。
?Errors 這個值記錄了標(biāo)志為失敗的幀的數(shù)量。這個可能由錯誤的網(wǎng)絡(luò)配置或者部分網(wǎng)線損壞導(dǎo)致,在銅口千兆以太網(wǎng)環(huán)境中部分網(wǎng)線的損害是影響性能的一個重要因素。
(4)塊設(shè)備參數(shù)
引用
?Iowait
CPU等待I/O操作所花費的時間。這個值持續(xù)很高通??赡苁荌/O瓶頸所導(dǎo)致的。
?Average queue length
I/O請求的數(shù)量,通常一個磁盤隊列值為2到3為更佳情況,更高的值說明系統(tǒng)可能存在I/O瓶頸。
?Average wait
響應(yīng)一個I/O操作的平均時間。Average wait包括實際I/O操作的時間和在I/O隊列里等待的時間。
?Transfers per second
描述每秒執(zhí)行多少次I/O操作(包括讀和寫)。Transfers per second的值與kBytes per second結(jié)合起來可以幫助你估計系統(tǒng)的平均傳輸塊大小,這個傳輸塊大小通常和磁盤子系統(tǒng)的條帶化大小相符合可以獲得更好的性能。
?Blocks read/write per second
這個值表達了每秒讀寫的blocks數(shù)量,在2.6內(nèi)核中blocks是1024bytes,在早些的內(nèi)核版本中blocks可以是不同的大小,從512bytes到4kb。
?Kilobytes per second read/write
按照kb為單位表示讀寫塊設(shè)備的實際數(shù)據(jù)的數(shù)量。
linux性能監(jiān)控工具介紹
1、Glances
是一個監(jiān)控工具,旨在以任何終端大小顯示盡可能多的信息,它會自動采用它運行的終端窗口大小,換句話說,它是一個響應(yīng)式監(jiān)控工具。不僅顯示有關(guān)CPU和內(nèi)存使用情況的信息,還監(jiān)控文件系統(tǒng)I/O、網(wǎng)絡(luò)
I/O、硬件溫度、風(fēng)扇速度、磁盤使用情況和邏輯彎行族卷。
2、Sarg
是一個免費的開源工具,可作為Squid代理服務(wù)器的監(jiān)控工具,它創(chuàng)建有關(guān)Squid代理服務(wù)器用戶、IP地址、他們訪問的站點以及其他一些信息的報告。
3、Apache
是一個Apache服務(wù)器模塊,可讓您監(jiān)控Apache服務(wù)器的工作人員狀態(tài)。它以易于閱讀的HTML格式生成報告。它向您顯示所有工作人員的狀態(tài)、每個工作人員使用多少CPU、當(dāng)前處理的請求以及工作和不工作工作人員的數(shù)量。
4、Monit
是一個很好的監(jiān)控你埋弊的Linux和Unix服務(wù)器的程序,它可以監(jiān)控你服務(wù)器上的一切,從主服務(wù)器(Apache、Nginx..)到文件權(quán)限、文件哈希和Web服務(wù)。加上很多東西。
5、Sysstat
不是一個真正的命令,實際上它只是項目的名稱,Sysstat實際上是一個包,其中包含許多性能監(jiān)控工具,如iostat、sadf、pidstat以及許多其他工具,向您顯示有關(guān)您的Linux操作系統(tǒng)的許多統(tǒng)計信息。
6、Icinga
與其他工具不同,Icinga是一個網(wǎng)絡(luò)監(jiān)控程序,它向您顯示有關(guān)您的網(wǎng)絡(luò)連接、設(shè)備和進程的許多選項和信息,對于那些正在尋找監(jiān)控網(wǎng)絡(luò)內(nèi)容的好工具的人來說,這是一個非常好的選擇。
7、Observium
也是一個網(wǎng)絡(luò)監(jiān)控工具,它旨在幫助您輕松管理您的服務(wù)器網(wǎng)絡(luò),它有兩個版本;社區(qū)版是免費和開源的,商業(yè)版的費用是每年1,000英鎊。
8、Web VMstat
是一個非常簡單的Web應(yīng)用程序程序員,它提供帶念實時的系統(tǒng)信息使用情況,從CPU到RAM、Swap以及html格式的輸入/輸出信息。
9、PHP Server Monitoring
與此列表中的其他工具不同,PHP Server
Monitoring是一個用PHP編寫的Web腳本,可幫助您輕松管理您的網(wǎng)站和主機,它支持MySQL數(shù)據(jù)庫,并在GPL 3或更高版本下發(fā)布。
10、Linux Dash
是一個Web儀表板,可以實時顯示有關(guān)Linux系統(tǒng)的最重要信息,例如RAM、CPU、文件系統(tǒng)、正在運行的進程、用戶、帶寬使用情況。
1.uptime
該命令直觀的顯示了服務(wù)器在過去15分鐘,5分鐘,1分鐘內(nèi)的平均負載
2.vmstat
每隔2秒輸出vmstat的信息,共輸出10次。
類別
procs
swap
io
system
cpu
r:正在運行的進程數(shù)目
si:
換入到內(nèi)存的容量
bi:
讀入塊數(shù)目
in:
中斷數(shù)目
us:用戶
b:阻塞的進程數(shù)目
so:
換出內(nèi)存的容量
bo:
寫到塊數(shù)目
cs:
上下文切換數(shù)目
sy:系統(tǒng)
id:空閑
wa:等待io完成的cpu
3.iostat
每隔2秒輸出iostat信息,共輸出3次
tps
blk_read/s
blk_wrtn/s
blk_read
blk_wrtn
發(fā)送磁盤的I/O請求數(shù)
每信笑銷秒讀取的block數(shù)量
每秒寫的block數(shù)量
讀入block的總數(shù)
寫入block的總數(shù)
備注:該命令包含了cpu信息和磁盤IO信息,這里簡單介紹下有關(guān)磁盤IO的幾個參數(shù)。需要注意的是,之一次blk_read和blk_wrtn是統(tǒng)計的歷史總數(shù),后面是每一秒的變化數(shù)。
4.top
top
-d
每10秒鐘查看下信息。
包含了load信息,系統(tǒng)運行時間信息,cpu信息,進程信息等。
5.free
-m
total:內(nèi)存總量,
used:表示總計分配給緩存(包含buffers
與cache
)使用的數(shù)量,但其中可能部分緩存并未實際使用
free:未分配的內(nèi)存
buffers:系統(tǒng)分配但未被使用的buffers
數(shù)量
cached:系統(tǒng)分配但未被使用的cache
數(shù)量
======buffers/cache行=====
used:Mem行中的used
–
buffers-cached,實際使用的內(nèi)存總量
free:
未被使用的buffers
與cache
和未被分配的內(nèi)存之和,這升汪就是系統(tǒng)當(dāng)前實際可用內(nèi)存。
6.sar
通過sar命令可以查看服務(wù)器的各個硬件的實時運轉(zhuǎn)情況。由于顯示的一些參數(shù)含義與其它命令類似,這里就不一一詳細介紹,只重點介紹
幾個參數(shù)。
(1)sar
-d
顯示磁盤實時信息
(2)sar
-b
查看I/O和傳送速率的統(tǒng)計信息
(3)sar
-u
顯示cpu實時信息
(4)sar
-q
查看平均負載
(5)sar
-r
查看內(nèi)滑游存使用情況
(6)sar
-n
DEV
查看網(wǎng)卡流量情況
rxpck/s:每秒鐘接收的數(shù)據(jù)包
txpck/s:每秒鐘發(fā)送的數(shù)據(jù)包
rxbyt/s:每秒鐘接收的字節(jié)數(shù)
txbyt/s:每秒鐘發(fā)送的字節(jié)數(shù)
rxcmp/s:每秒鐘接收的壓縮數(shù)據(jù)包
txcmp/s:每秒鐘發(fā)送的壓縮數(shù)據(jù)包
rxmcst/s:每秒鐘接收的多播數(shù)據(jù)包
關(guān)于linux cpu加壓工具的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專業(yè)從事IT產(chǎn)品開發(fā)和營銷公司。廣泛應(yīng)用于計算機網(wǎng)絡(luò)、設(shè)計、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
分享題目:LinuxCPU加壓工具:提升系統(tǒng)處理能力的必備利器(linuxcpu加壓工具)
網(wǎng)站URL:http://www.5511xx.com/article/coseijj.html


咨詢
建站咨詢
