linux系統中常見的性能分析工具

1、vmstatlinux

            vmstat是linux/unix上一個監控工具,能展現給定時間間隔的服務器的狀態,包括操做系統的內存信息,CPU使用狀態、進程信息等。
ios

語法:緩存

vmstat [-V] [delay [count]]
    #-V     打印出vmstat工具的版本信息
    #delay  設置兩次輸出的時間間隔
    #count  設置總共輸出的次數

wKiom1fRWPqAviPmAABm6fuVbJY513.png


wKioL1fRWVqy5X5aAAB3kf0Qyik125.png

對輸出參數進行講解bash

    procs
服務器

        r:運行進程數(即真正分配到cpu的進程數量),若是該值長期大於系統邏輯cpu的數量,表示cpu不足
網絡

        b:表示阻塞的進程數
tcp

    memory
ide

        swpd:表示正在使用的虛擬內存的多少
工具

        free:表示當前空閒的物理內存的大小
性能

        buff:表示當前使用的buffers的大小

        cached:表示當前使用的cached的大小

buffers和cached的區別:
    ①buffers和cached都是內存的一部分
    ②buffers是內存與磁盤之間的,當對磁盤進行讀寫操做時,內存先將數據緩存到buffers中,而後再寫入磁盤;cached是cpu和內存之間的,cached是緩存讀取過的內容,下次再讀時,若是在緩存中命中,則直接從緩存讀取,不然讀取磁盤。

      swap

        si:表示從磁盤讀入到虛擬內存的大小

        so:表示從虛擬內存寫入到磁盤的大小

若是si和so長期不爲0,表示系統內存不足;而若是swpd的值長期不爲0,但si和so的值長期爲0,則無需擔憂

      io

        bi:表示從磁盤讀取數據的總量

        bo:表示寫入磁盤的數據總量

      system

        in:表示系統中斷數

        cs:表示每秒產生的上下文切換次數

in和cs的值越大,內核消耗cpu時間越大

      cpu

         us:用戶進程消耗的cpu時間所佔百分比

         sy:內核進程消耗的cpu時間所佔百分比

          id:cpu空閒狀態的時間百分比

          wa:表示IO等待所佔用的cpu時間百分比

us+sy+id=100

----------------------------------------------------------------------------------------------------------------------------------------

2、sar命令

 sar命令能夠獲取系統的cpu、磁盤、內存、網絡運行狀態等信息

常見用法有

wKioL1fRYlfBJLrpAACeoAJBdNQ873.png


wKioL1fRZEuyIWGfAACLl-p991s993.png


wKiom1fRYsChqXfmAAEyJ34GI34413.png


wKiom1fRY0qgYCeTAACuzI4zLzU206.png

wKiom1fRY6KSYll-AADncA2nXuk354.png

注意要點:

    -u表示查看系統cpu總體的使用狀態,-P能夠分開查詢每一個cpu的使用狀況,其中對cpu的計數是從0開始的


--------------------------------------------------------------------------------------------------------------------------------

3、iostat

能夠對系統磁盤的IO操做進行監控,同時也能夠輸出顯示cpu的使用狀況

語法:

iostat options [interval [count]]
options 說明
-c 顯示cpu的使用狀況
-d 顯示磁盤的使用狀況
-k 表示以KB爲單位顯示數據
-x device 指定要統計的磁盤設備

wKiom1fRZnjxmJjWAABLdaiZp8Y728.pngKB_read/s:表示每秒讀取的數據塊數量

KB_wrtn/s:表示每秒寫入的數據塊數量

KB_read:表示總共讀的數據塊數量
KB_wrtn:表示總共寫的數據塊數量

-----------------------------------------------------------------------------------------------------------------------

4、netstat

    能夠顯示網絡鏈接、端口狀態和路由表等信息

語法:netstat [options]

常見option 說明
-a 顯示全部的鏈接和監聽的端口
-r 顯示路由信息
-t 顯示tcp鏈接
-u 顯示udp鏈接
-l 顯示鏈接狀態爲LISTEN的鏈接
-p

顯示鏈接對應的PID

-n 以IP和端口的形式顯示鏈接

比較常見用法:

netstat -plnt
netstat -puln
netstat -r

------------------------------------------------------------------------------------------------------------------------------------

5、free

    監控linux內存的使用狀況

wKioL1fRaCrARYk9AAAqKn_RmEE318.png

---------------------------------------------------------------------------------------------------------------------------

6、uptime

    能夠查看系統的啓動時長和cpu的負載狀況

wKioL1fRaNPQMsEBAAAb76HZRy4243.png

系統如今時間    啓動時長   登陸用戶數量      1分鐘內的平均負載  5分鐘內的平均負載   15分鐘內的平均負載

注意:load average的三個輸出值若是大於系統邏輯cpu數量時,表示cpu繁忙,會影響系統性能

 -------------------------------------------------------------------------------------------------------------------------

相關文章
相關標籤/搜索