国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  云服務(wù)器 >  服務(wù)器教程 >  如何用幾條命令檢查L(cháng)inux服務(wù)器性能

如何用幾條命令檢查L(cháng)inux服務(wù)器性能

2016-02-01 16:55:17 8744

下面這些命令的輸出,有助于快速定位性能瓶頸,檢查出所有資源(CPU、內存、磁盤(pán)IO等)的利用率(utilization)、飽和度(saturation)和錯誤(error)度量,也就是所謂的USE方法。

1.uptime

     

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

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

如果近1分鐘的平均負載遠高于15分鐘的負載情況,那么我們需要用vmstat,mpstat命令進(jìn)行排查

2.dmesg | tail

     

    dmesg這條命令用于查看開(kāi)機信息

    dmesg | tail 該命令會(huì )輸出系統日志的最后10行

3.vmstat 1

     

    每行會(huì )輸出一些系統核心指標,這些指標可以讓我們更詳細的了解系統狀態(tài)。后面跟的參數2,表示每?jì)擅胼敵鲆淮谓y計信息,表頭提示了每一列的含義,這幾介紹一些和性能調優(yōu)相關(guān)的列:

r:等待在CPU資源的進(jìn)程數。這個(gè)數據比平均負載更加能夠體現CPU負載情況,數據中不包含等待IO的進(jìn)程。如果這個(gè)數值大于機器CPU核數,那么機器的CPU資源已經(jīng)飽和。

    free:系統可用內存數(以千字節為單位),如果剩余內存不足,也會(huì )導致系統性能問(wèn)題。下文介紹到的free命令,可以更詳細的了解系統內存的使用情況。

    si, so:交換區寫(xiě)入和讀取的數量。如果這個(gè)數據不為0,說(shuō)明系統已經(jīng)在使用交換區(swap),機器物理內存已經(jīng)不足。

    us, sy, id, wa, st:這些都代表了CPU時(shí)間的消耗,它們分別表示用戶(hù)時(shí)間(user)、系統(內核)時(shí)間(sys)、空閑時(shí)間(idle)、IO等待時(shí)間(wait)和被偷走的時(shí)間(stolen,一般被其他虛擬機消耗)。

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

4.mpstat -P ALL 1

     

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

5.pidstat 1

     

    pidstat命令輸出進(jìn)程的CPU占用率,該命令會(huì )持續輸出,并且不會(huì )覆蓋之前的數據,可以方便觀(guān)察系統動(dòng)態(tài)。

6.iostat -xz 1

     

    iostat命令主要用于查看機器磁盤(pán)IO情況。該命令輸出的列,主要含義是:

    r/s, w/s, rkB/s, wkB/s:分別表示每秒讀寫(xiě)次數和每秒讀寫(xiě)數據量(千字節)。讀寫(xiě)量過(guò)大,可能會(huì )引起性能問(wèn)題。

    await:IO操作的平均等待時(shí)間,單位是毫秒。這是應用程序在和磁盤(pán)交互時(shí),需要消耗的時(shí)間,包括IO等待和實(shí)際操作的耗時(shí)。如果這個(gè)數值過(guò)大,可能是硬件設備遇到了瓶頸或者出現故障。

    avgqu-sz:向設備發(fā)出的請求平均數量。如果這個(gè)數值大于1,可能是硬件設備已經(jīng)飽和(部分前端硬件設備支持并行寫(xiě)入)。

    %util:設備利用率。這個(gè)數值表示設備的繁忙程度,經(jīng)驗值是如果超過(guò)60,可能會(huì )影響IO性能(可以參照IO操作平均等待時(shí)間)。如果到達100%,說(shuō)明硬件設備已經(jīng)飽和。

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

7.free -h

     

    free命令可用于查看系統內存的使用情況,最后兩列分別表示用于IO緩存的內存數,和用于文件系統頁(yè)緩存的內存數。需要注意的是,第二行-/+ buffers/cache,看上去緩存占用了大量?jì)却婵臻g。這是Linux系統的內存使用策略,盡可能的利用內存,如果應用程序需要內存,這部分內存會(huì )立即被回收并分配給應用程序。因此,這部分內存一般也被當成是可用內存。

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

8.sar -n DEV 1

     

    sar命令在這里可以查看網(wǎng)絡(luò )設備的吞吐率。在排查性能問(wèn)題時(shí),可以通過(guò)網(wǎng)絡(luò )設備的吞吐量,判斷網(wǎng)絡(luò )設備是否已經(jīng)飽和。如示例輸出中,eth0網(wǎng)卡設備,吞吐率只有大概在0.39Mbytes/s.

9.sar -n TCP,ETCP 1

     

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

    active/s:每秒本地發(fā)起的TCP連接數,既通過(guò)connect調用創(chuàng )建的TCP連接;

    passive/s:每秒遠程發(fā)起的TCP連接數,即通過(guò)accept調用創(chuàng )建的TCP連接;

    retrans/s:每秒TCP重傳數量;

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

10.top

    


    (具體參考:http://www.tjdsmy.cn/Help/Show-1022.html)

    第一行是任務(wù)隊列信息,同 uptime 命令的執行結果一樣:第一列表示當前時(shí)間、第二列表示系統運行了多久、第三列表示當前登陸人數、最后的load average表示的是系統負載(三個(gè)值分別是:1分鐘、5分鐘、15分鐘前到現在的負載平均值)

    第二列表示的是進(jìn)程的信息,很直觀(guān)。

[此文摘抄自:infoQ]

提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->