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

一、vmstat

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

語法:

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

wKiom1fRWPqAviPmAABm6fuVbJY513.png


wKioL1fRWVqy5X5aAAB3kf0Qyik125.png

對輸出參數進行講解

    procs

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

        b:表示阻塞的進程數

    memory

        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

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

二、sar命令

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

常見用法有

wKioL1fRYlfBJLrpAACeoAJBdNQ873.png


wKioL1fRZEuyIWGfAACLl-p991s993.png


wKiom1fRYsChqXfmAAEyJ34GI34413.png


wKiom1fRY0qgYCeTAACuzI4zLzU206.png

wKiom1fRY6KSYll-AADncA2nXuk354.png

注意要點:

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


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

三、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:表示總共寫的數據塊數量

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

四、netstat

    可以顯示網絡連接、端口狀態和路由表等信息

語法:netstat [options]

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

顯示連接對應的PID

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

比較常見用法:

netstat -plnt
netstat -puln
netstat -r

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

五、free

    監控linux內存的使用情況

wKioL1fRaCrARYk9AAAqKn_RmEE318.png

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

六、uptime

    可以查看系統的啓動時長和cpu的負載情況

wKioL1fRaNPQMsEBAAAb76HZRy4243.png

系統現在時間    啓動時長   登錄用戶數量      1分鐘內的平均負載  5分鐘內的平均負載   15分鐘內的平均負載

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

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





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章