欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux服務(wù)器快速檢查性能的9個(gè)命令

 更新時(shí)間:2025年05月17日 11:42:25   作者:mb643e0d0904d99  
本文介紹了Linux系統(tǒng)性能監(jiān)控的9個(gè)常用命令(uptime、dmesg、vmstat、mpstat、pidstat、iostat、free、sar、top),用于查看負(fù)載、內(nèi)存、CPU、IO等狀態(tài),幫助排查性能瓶頸

本文介紹了Linux系統(tǒng)性能監(jiān)控的9個(gè)常用命令(uptime、dmesg、vmstat、mpstat、pidstat、iostat、free、sar、top),用于查看負(fù)載、內(nèi)存、CPU、IO等狀態(tài),幫助排查性能瓶頸。

一、uptime命令

這個(gè)命令可以快速查看機(jī)器的負(fù)載情況。在Linux系統(tǒng)中,這些數(shù)據(jù)表示等待CPU資源的進(jìn)程和阻塞在不可中斷IO進(jìn)程(進(jìn)程狀態(tài)為D)的數(shù)量。這些數(shù)據(jù)可以讓我們對(duì)系統(tǒng)資源使用有一個(gè)宏觀的了解。

命令的輸出分別表示1分鐘、5分鐘、15分鐘的平均負(fù)載情況。通過(guò)這三個(gè)數(shù)據(jù),可以了解服務(wù)器負(fù)載是在趨于緊張還是趨于緩解。如果1分鐘平均負(fù)載很高,而15分鐘平均負(fù)載很低,說(shuō)明服務(wù)器正在命令高負(fù)載情況,需要進(jìn)一步排查CPU資源都消耗在了哪里。反之,如果15分鐘平均負(fù)載很高,1分鐘平均負(fù)載較低,則有可能是CPU資源緊張時(shí)刻已經(jīng)過(guò)去。

上面例子中的輸出,可以看見(jiàn)最近1分鐘的平均負(fù)載非常高,且遠(yuǎn)高于最近15分鐘負(fù)載,因此我們需要繼續(xù)排查當(dāng)前系統(tǒng)中有什么進(jìn)程消耗了大量的資源??梢酝ㄟ^(guò)下文將會(huì)介紹的vmstat、mpstat等命令進(jìn)一步排查。

二、dmesg命令

02

該命令會(huì)輸出系統(tǒng)日志的最后10行。示例中的輸出,可以看見(jiàn)一次內(nèi)核的oom kill和一次TCP丟包。這些日志可以幫助排查性能問(wèn)題。千萬(wàn)不要忘了這一步。

三、vmstat命令

03

vmstat(8) 命令,每行會(huì)輸出一些系統(tǒng)核心指標(biāo),這些指標(biāo)可以讓我們更詳細(xì)的了解系統(tǒng)狀態(tài)。后面跟的參數(shù)1,表示每秒輸出一次統(tǒng)計(jì)信息,表頭提示了每一列的含義,這幾介紹一些和性能調(diào)優(yōu)相關(guān)的列:

  • r:等待在CPU資源的進(jìn)程數(shù)。這個(gè)數(shù)據(jù)比平均負(fù)載更加能夠體現(xiàn)CPU負(fù)載情況,數(shù)據(jù)中不包含等待IO的進(jìn)程。如果這個(gè)數(shù)值大于機(jī)器CPU核數(shù),那么機(jī)器的CPU資源已經(jīng)飽和。
  • free:系統(tǒng)可用內(nèi)存數(shù)(以千字節(jié)為單位),如果剩余內(nèi)存不足,也會(huì)導(dǎo)致系統(tǒng)性能問(wèn)題。下文介紹到的free命令,可以更詳細(xì)的了解系統(tǒng)內(nèi)存的使用情況。
  • si,so:交換區(qū)寫(xiě)入和讀取的數(shù)量。如果這個(gè)數(shù)據(jù)不為0,說(shuō)明系統(tǒng)已經(jīng)在使用交換區(qū)(swap),機(jī)器物理內(nèi)存已經(jīng)不足。
  • us, sy, id, wa, st:這些都代表了CPU時(shí)間的消耗,它們分別表示用戶時(shí)間(user)、系統(tǒng)(內(nèi)核)時(shí)間(sys)、空閑時(shí)間(idle)、IO等待時(shí)間(wait)和被偷走的時(shí)間(stolen,一般被其他虛擬機(jī)消耗)。

上述這些CPU時(shí)間,可以讓我們很快了解CPU是否出于繁忙狀態(tài)。一般情況下,如果用戶時(shí)間和系統(tǒng)時(shí)間相加非常大,CPU出于忙于執(zhí)行指令。如果IO等待時(shí)間很長(zhǎng),那么系統(tǒng)的瓶頸可能在磁盤(pán)IO。

示例命令的輸出可以看見(jiàn),大量CPU時(shí)間消耗在用戶態(tài),也就是用戶應(yīng)用程序消耗了CPU時(shí)間。這不一定是性能問(wèn)題,需要結(jié)合r隊(duì)列,一起分析。

四、mpstat命令

如何用九條命令在一分鐘內(nèi)檢查L(zhǎng)inux服務(wù)器性能_數(shù)據(jù)_04

該命令可以顯示每個(gè)CPU的占用情況,如果有一個(gè)CPU占用率特別高,那么有可能是一個(gè)單線程應(yīng)用程序引起的。

五、pidstat命令

05

pidstat命令輸出進(jìn)程的CPU占用率,該命令會(huì)持續(xù)輸出,并且不會(huì)覆蓋之前的數(shù)據(jù),可以方便觀察系統(tǒng)動(dòng)態(tài)。如上的輸出,可以看見(jiàn)兩個(gè)JAVA進(jìn)程占用了將近1600%的CPU時(shí)間,既消耗了大約16個(gè)CPU核心的運(yùn)算資源。

六、iostat命令

如何用九條命令在一分鐘內(nèi)檢查L(zhǎng)inux服務(wù)器性能_數(shù)據(jù)_06

  • r/s, w/s, rkB/s, wkB/s:分別表示每秒讀寫(xiě)次數(shù)和每秒讀寫(xiě)數(shù)據(jù)量(千字節(jié))。讀寫(xiě)量過(guò)大,可能會(huì)引起性能問(wèn)題。
  • await:IO操作的平均等待時(shí)間,單位是毫秒。這是應(yīng)用程序在和磁盤(pán)交互時(shí),需要消耗的時(shí)間,包括IO等待和實(shí)際操作的耗時(shí)。如果這個(gè)數(shù)值過(guò)大,可能是硬件設(shè)備遇到了瓶頸或者出現(xiàn)故障。
  • avgqu-sz:向設(shè)備發(fā)出的請(qǐng)求平均數(shù)量。如果這個(gè)數(shù)值大于1,可能是硬件設(shè)備已經(jīng)飽和(部分前端硬件設(shè)備支持并行寫(xiě)入)。
  • %util:設(shè)備利用率。這個(gè)數(shù)值表示設(shè)備的繁忙程度,經(jīng)驗(yàn)值是如果超過(guò)60,可能會(huì)影響IO性能(可以參照IO操作平均等待時(shí)間)。如果到達(dá)100%,說(shuō)明硬件設(shè)備已經(jīng)飽和。

如果顯示的是邏輯設(shè)備的數(shù)據(jù),那么設(shè)備利用率不代表后端實(shí)際的硬件設(shè)備已經(jīng)飽和。值得注意的是,即使IO性能不理想,也不一定意味這應(yīng)用程序性能會(huì)不好,可以利用諸如預(yù)讀取、寫(xiě)緩存等策略提升應(yīng)用性能。

七、free命令

07

free命令可以查看系統(tǒng)內(nèi)存的使用情況,-m參數(shù)表示按照兆字節(jié)展示。最后兩列分別表示用于IO緩存的內(nèi)存數(shù),和用于文件系統(tǒng)頁(yè)緩存的內(nèi)存數(shù)。需要注意的是,第二行-/+ buffers/cache,看上去緩存占用了大量?jī)?nèi)存空間。

這是Linux系統(tǒng)的內(nèi)存使用策略,盡可能的利用內(nèi)存,如果應(yīng)用程序需要內(nèi)存,這部分內(nèi)存會(huì)立即被回收并分配給應(yīng)用程序。因此,這部分內(nèi)存一般也被當(dāng)成是可用內(nèi)存。

如果可用內(nèi)存非常少,系統(tǒng)可能會(huì)動(dòng)用交換區(qū)(如果配置了的話),這樣會(huì)增加IO開(kāi)銷(可以在iostat命令中提現(xiàn)),降低系統(tǒng)性能。

八、sar命令

08

sar命令在這里可以查看網(wǎng)絡(luò)設(shè)備的吞吐率。在排查性能問(wèn)題時(shí),可以通過(guò)網(wǎng)絡(luò)設(shè)備的吞吐量,判斷網(wǎng)絡(luò)設(shè)備是否已經(jīng)飽和。如示例輸出中,eth0網(wǎng)卡設(shè)備,吞吐率大概在22 Mbytes/s,既176 Mbits/sec,沒(méi)有達(dá)到1Gbit/sec的硬件上限。

09

sar命令在這里用于查看TCP連接狀態(tài),其中包括:

  • active/s:每秒本地發(fā)起的TCP連接數(shù),既通過(guò)connect調(diào)用創(chuàng)建的TCP連接;
  • passive/s:每秒遠(yuǎn)程發(fā)起的TCP連接數(shù),即通過(guò)accept調(diào)用創(chuàng)建的TCP連接;
  • retrans/s:每秒TCP重傳數(shù)量;

TCP連接數(shù)可以用來(lái)判斷性能問(wèn)題是否由于建立了過(guò)多的連接,進(jìn)一步可以判斷是主動(dòng)發(fā)起的連接,還是被動(dòng)接受的連接。TCP重傳可能是因?yàn)榫W(wǎng)絡(luò)環(huán)境惡劣,或者服務(wù)器壓

九、top命令

10

top命令包含了前面好幾個(gè)命令的檢查的內(nèi)容。比如系統(tǒng)負(fù)載情況(uptime)、系統(tǒng)內(nèi)存使用情況(free)、系統(tǒng)CPU使用情況(vmstat)等。因此通過(guò)這個(gè)命令,可以相對(duì)全面的查看系統(tǒng)負(fù)載的來(lái)源。同時(shí),top命令支持排序,可以按照不同的列排序,方便查找出諸如內(nèi)存占用最多的進(jìn)程、CPU占用率最高的進(jìn)程等。

十、總結(jié)

到此這篇關(guān)于Linux服務(wù)器快速檢查性能的9個(gè)命令的文章就介紹到這了,更多相關(guān)Linux檢查性能的9個(gè)命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux下如何查看內(nèi)存泄露的命令

    Linux下如何查看內(nèi)存泄露的命令

    這篇文章主要介紹了Linux下如何查看內(nèi)存泄露的命令方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Linux 監(jiān)控文件被什么進(jìn)程修改(詳解)

    Linux 監(jiān)控文件被什么進(jìn)程修改(詳解)

    下面小編就為大家?guī)?lái)一篇Linux 監(jiān)控文件被什么進(jìn)程修改(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • 詳解Linux文件操作知識(shí)點(diǎn)

    詳解Linux文件操作知識(shí)點(diǎn)

    在本篇文章中我們給大家詳細(xì)分享了關(guān)于Linux文件操作的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2018-09-09
  • 淺談linux幾種定時(shí)函數(shù)的使用

    淺談linux幾種定時(shí)函數(shù)的使用

    下面小編就為大家?guī)?lái)一篇淺談linux幾種定時(shí)函數(shù)的使用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • linux中安裝deb軟件包實(shí)現(xiàn)方式

    linux中安裝deb軟件包實(shí)現(xiàn)方式

    這篇文章主要介紹了linux中安裝deb軟件包實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Linux系統(tǒng)之service創(chuàng)建方式

    Linux系統(tǒng)之service創(chuàng)建方式

    Linux下創(chuàng)建service的方法:1.創(chuàng)建一個(gè)新的service文件在/etc/systemd/system目錄中,2.編寫(xiě)service文件的內(nèi)容,包括Description、After、ExecStart、User、Group、Restart和WantedBy,3.啟用service,使用命令systemctl enable
    2024-11-11
  • Linux中修改mysql默認(rèn)編碼的方法步驟

    Linux中修改mysql默認(rèn)編碼的方法步驟

    今天小編就為大家分享一篇關(guān)于Linux中修改mysql默認(rèn)編碼的方法步驟,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • linux epoll機(jī)制詳解

    linux epoll機(jī)制詳解

    這篇文章主要介紹了linux epoll機(jī)制詳解,介紹了select()和poll() IO多路復(fù)用模型,epoll IO多路復(fù)用模型實(shí)現(xiàn)機(jī)制,epoll的接口和工作模式等相關(guān)內(nèi)容,小編覺(jué)得還是挺不錯(cuò)的,這里分享給大家,需要的朋友可以參考下
    2018-01-01
  • Manjaro Linux安裝singularity-container的解決方案

    Manjaro Linux安裝singularity-container的解決方案

    這篇文章主要介紹Singularity容器在Manjaro平臺(tái)的安裝,以及一些常見(jiàn)的使用場(chǎng)景:拉取沙箱制作容器鏡像、遠(yuǎn)程制作容器鏡像以及修改容器鏡像的方法,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • 讓Apache支持shtml實(shí)現(xiàn)include文件解析的配置方法

    讓Apache支持shtml實(shí)現(xiàn)include文件解析的配置方法

    Apache支持include文件解析shtml首先要應(yīng)該修改Apache配置文件httpd.conf
    2011-03-03

最新評(píng)論