【Linux】全能系統監控工具dstat

来源:https://www.cnblogs.com/BabySermonizer/archive/2019/09/02/11450572.html
-Advertisement-
Play Games

全能系統監控工具dstat dstat 是一個可以取代vmstat,iostat,netstat和ifstat這些命令的多功能產品。dstat剋服了這些命令的局限並增加了一些另外的功能,增加了監控項,也變得更靈活了。dstat可以很方便監控系統運行狀況並用於基準測試和排除故障。 dstat可以讓你實 ...


全能系統監控工具dstat

dstat 是一個可以取代vmstat,iostat,netstat和ifstat這些命令的多功能產品。dstat剋服了這些命令的局限並增加了一些另外的功能,增加了監控項,也變得更靈活了。dstat可以很方便監控系統運行狀況並用於基準測試和排除故障。

dstat可以讓你實時地看到所有系統資源,例如,你能夠通過統計IDE控制器當前狀態來比較磁碟利用率,或者直接通過網路帶寬數值來比較磁碟的吞吐率(在相同的時間間隔內)。

dstat將以列表的形式為你提供選項信息並清晰地告訴你是在何種幅度和單位顯示輸出。這樣更好地避免了信息混亂和誤報。更重要的是,它可以讓你更容易編寫插件來收集你想要的數據信息,以從未有過的方式進行擴展。

Dstat的預設輸出是專門為人們實時查看而設計的,不過你也可以將詳細信息通過CSV輸出到一個文件,並導入到Gnumeric或者Excel生成表格中。

特性

  • 結合了vmstat,iostat,ifstat,netstat以及更多的信息

  • 實時顯示統計情況

  • 在分析和排障時可以通過啟用監控項併排序

  • 模塊化設計

  • 使用python編寫的,更方便擴展現有的工作任務

  • 容易擴展和添加你的計數器(請為此做出貢獻)

  • 包含的許多擴展插件充分說明瞭增加新的監控項目是很方便的

  • 可以分組統計塊設備/網路設備,並給出總數

  • 可以顯示每台設備的當前狀態

  • 極準確的時間精度,即便是系統負荷較高也不會延遲顯示

  • 顯示準確地單位和和限制轉換誤差範圍

  • 用不同的顏色顯示不同的單位

  • 顯示中間結果延時小於1秒

  • 支持輸出CSV格式報表,並能導入到Gnumeric和Excel以生成圖形

安裝方法

1、在centos下 可以 yum -y instatll dstat

2、下載rpm包進行安裝

wget http://packages.sw.be/dstat/dstat-0.7.2-1.el5.rfx.noarch.rpm

rpm -ivh dstat-0.7.2-1.el5.rfx.noarch.rpm

使用方法

dstat的基本用法就是輸入dstat命令,輸出如下:

image

這是預設輸出顯示的信息:

預設情況下分五個區域:


1、 --total-cpu-usage---- CPU使用率

usr:用戶空間的程式所占百分比;

sys:系統空間程式所占百分比;

idel:空閑百分比;

wai:等待磁碟I/O所消耗的百分比;

hiq:硬中斷次數;

siq:軟中斷次數;


2、-dsk/total-磁碟統計

read:讀總數

writ:寫總數


3、-net/total- 網路統計

recv:網路收包總數

send:網路發包總數


4、---paging-- 記憶體分頁統計

in: pagein(換入)

out:page out(換出)

註:系統的分頁活動。分頁指的是一種記憶體管理技術用於查找系統場景,一個較大的分頁表明系統正在使用大量的交換空間,通常情況下當系統已經開始用交換空間的時候,就說明你的記憶體已經不夠用了,或者說記憶體非常分散,理想情況下page in(換入)和page out(換出)的值是0 0。


5、--system--系統信息

int:中斷次數

csw:上下文切換

註:中斷(int)和上下文切換(csw)。這項統計僅在有比較基線時才有意義。這一欄中較高的統計值通常表示大量的進程造成擁塞,需要對CPU進行關註。你的伺服器一般情況下都會運行運行一些程式,所以這項總是顯示一些數值。


預設情況下,dstat 會每隔一秒刷新一次數據,一直刷新並一直輸出,按 Ctrl+C 退出 "dstat";

dstat 還有許多具體的參數,可通過man dstat命令查看,

常用參數如下:

通過dstat --list可以查看dstat能使用的所有參數

  • -l :顯示負載統計量

  • -m :顯示記憶體使用率(包括used,buffer,cache,free值)

  • -r :顯示I/O統計

  • -s :顯示交換分區使用情況

  • -t :將當前時間顯示在第一行

  • –fs :顯示文件系統統計數據(包括文件總數量和inodes值)

  • –nocolor :不顯示顏色(有時候有用)

  • –socket :顯示網路統計數據

  • –tcp :顯示常用的TCP統計

  • –udp :顯示監聽的UDP介面及其當前用量的一些動態數據

當然不止這些用法,dstat附帶了一些插件很大程度地擴展了它的功能。你可以通過查看/usr/share/dstat目錄來查看它們的一些使用方法,常用的有這些:

  • -–disk-util :顯示某一時間磁碟的忙碌狀況

  • -–freespace :顯示當前磁碟空間使用率

  • -–proc-count :顯示正在運行的程式數量

  • -–top-bio :指出塊I/O最大的進程

  • -–top-cpu :圖形化顯示CPU占用最大的進程

  • -–top-io :顯示正常I/O最大的進程

  • -–top-mem :顯示占用最多記憶體的進程

應用舉例:

dstat輸出預設監控、報表輸出的時間間隔為3秒鐘,並且報表中輸出10個結果

# dstat 3 10

查看全部記憶體都有誰在占用:

# dstat -g -l -m -s --top-mem

顯示一些關於CPU資源損耗的數據:

# dstat -c -y -l --proc-count --top-cpu

如何輸出一個csv文件

# dstat --output /tmp/sampleoutput.csv -cdn

備註:輸出的的 csv 文件,可以在 windows 下用 excel 打開,並生成圖表。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8 downloads 2133151.html 目前主流的JDK版本還是JAVA8,我在阿裡用的也是Java8。 JDK里已經包含了JRE也就是Java虛擬機和運行環 ...
  • 在Web系統開發過程中,文件上傳是普遍的功能,本文主要以一個簡單的小例子,講解SpringMVC中文件上傳的使用方法,僅供學習分享使用,如有不足之處,還請指正。 ...
  • .NET Core ASP.NET Core Basic 1 2 本節內容為控制反轉與依賴註入 簡介 控制反轉IOC 這個內容事實上在我們的C 高級篇就已經有所講解,控制反轉是一種設計模式,你可以這樣理解控制反轉,假設有一個人他有一部A品牌手機,他用手機進行聽歌、打游戲,那麼你可以創建一個手機類和一 ...
  • ==>>點擊查看本系列文章目錄 上節中有談到的是通信主機(TransportHost),本節中主機(ServiceHost)負責管理服務的生命周期。 項目中將兩個主機拆分開,實現不同的功能: 通信主機:用於啟動通信監聽埠; 生命周期管理的主機:負責模塊功能的依賴註入,管理生命周期。 先看一下啟動服 ...
  • windows terminal 是今年微軟Build大會上推出的一款的全新終端,用來代替cmder之類的第三方終端。具有亞克力透明、多標簽、Unicode支持(中文,Emoji)、自帶等寬字體等這些特性。 現在可以在微軟商店裡面進行安裝,系統要求是win10 1903及以上,不過目前還是previ ...
  • 最近做項目的時候遇見了一個問題,通過jq將動態節點綁定到dom節點上,並且為動態節點綁定方法,此方法再次為動態節點添加動態節點,但在刷新之後,動態節點上的方法失效了,過程為:創建動態節點->動態節點綁定方法->添加動態節點->刷新後點擊動態節點方法失效。 <!DOCTYPE html><html> ...
  • 仿照Ubuntu下的磁碟使用情況分析器用WPF做了個類似的軟體,參考https://github.com/Caliburn-Micro/Caliburn.Micro/tree/3.2.0/samples/features/Features.WPF使用Caliburn.Micro框架完成 項目地址:h ...
  • 1.新建用戶wwweee000 2.#Port 22欄位刪掉,將22改為其他不被使用的埠,伺服器埠最大可以開到65536.//註意Port是大寫的"P" 上面還是不能滿足輸出結果:我們只要Port 22的答案. -n顯示行號;\反斜杠實質定義 3.不使用vi/vim進行修改Port 22 為 4 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...