【轉】Linux終端下 dstat 監控工具

轉自https://linux.cn/article-3215-1.html

?

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

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

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

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

特性

  • 結合了vmstat,iostat,ifstat,netstat以及更多的信息
  • 實時顯示統計情況
  • 在分析和排障時可以通過啟用監控項并排序
  • 模塊化設計
  • 使用python編寫的,更方便擴展現有的工作任務
  • 容易擴展和添加你的計數器(請為此做出貢獻)
  • 包含的許多擴展插件充分說明了增加新的監控項目是很方便的
  • 可以分組統計塊設備/網絡設備,并給出總數
  • 可以顯示每臺設備的當前狀態
  • 極準確的時間精度,即便是系統負荷較高也不會延遲顯示
  • 顯示準確地單位和和限制轉換誤差范圍
  • 用不同的顏色顯示不同的單位
  • 顯示中間結果延時小于1秒
  • 支持輸出CSV格式報表,并能導入到Gnumeric和Excel以生成圖形

安裝方法

Ubuntu/Mint和Debin系統:

本地軟件庫中有相關安裝包,你可以用下面命令安裝:

  1. # sudo apt-get install dstat

RHEL/Centos和Fedora系統:

你可以在romforge軟件庫中添加有相關安裝包,參照指導,使用如下命令很簡單就能進行安裝:

  1. # yum install dstat

ArchLinux系統:

相關軟件包在社區資源庫中,你可以用這個命令來安裝:

  1. # pacman -S dstat

使用方法

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

這是默認輸出顯示的信息:

CPU狀態:CPU的使用率。這項報告更有趣的部分是顯示了用戶,系統和空閑部分,這更好地分析了CPU當前的使用狀況。如果你看到"wait"一欄中,CPU的狀態是一個高使用率值,那說明系統存在一些其它問題。當CPU的狀態處在"waits"時,那是因為它正在等待I/O設備(例如內存,磁盤或者網絡)的響應而且還沒有收到。

磁盤統計:磁盤的讀寫操作,這一欄顯示磁盤的讀、寫總數。

網絡統計:網絡設備發送和接受的數據,這一欄顯示的網絡收、發數據總數。

分頁統計:系統的分頁活動。分頁指的是一種內存管理技術用于查找系統場景,一個較大的分頁表明系統正在使用大量的交換空間,或者說內存非常分散,大多數情況下你都希望看到page in(換入)和page out(換出)的值是0 0。

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

默認情況下,dstat每秒都會刷新數據。如果想退出dstat,你可以按"CTRL-C"鍵。

需要注意的是報告的第一行,通常這里所有的統計都不顯示數值的。

這是由于dstat會通過上一次的報告來給出一個總結,所以第一次運行時是沒有平均值和總值的相關數據。

但是dstat可以通過傳遞2個參數運行來控制報告間隔和報告數量。例如,如果你想要dstat輸出默認監控、報表輸出的時間間隔為3秒鐘,并且報表中輸出10個結果,你可以運行如下命令:

  1. dstat 3 10

在dstat命令中有很多參數可選,你可以通過man 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 :顯示占用最多內存的進程

舉一些例子:

查看全部內存都有誰在占用:

  1. dstat -g -l -m -s --top-mem

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

  1. dstat -c -y -l --proc-count --top-cpu

如何輸出一個csv文件

想輸出一個csv格式的文件用于以后,可以通過下面的命令:

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

via:?http://linuxaria.com/howto/linux-terminal-dstat-monitoring-tools

轉載于:https://www.cnblogs.com/hark0623/p/6089154.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373414.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373414.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373414.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Tomcat和IntelliJ –在webapps文件夾之外部署war文件

目前,我正在開發一個Android應用程序,該應用程序需要云中托管的大量REST服務來支持。 我基于對Java,Groovy以及最重要的Spring的支持選擇了Google App Engine 。 我開發了一個基于Spring MVC的REST應用程序,并使用ContentNegotiat…

[HDU1232] 暢通工程 (并查集 or 連通分量)

Input 測試輸入包含若干測試用例。每個測試用例的第1行給出兩個正整數&#xff0c;分別是城鎮數目N ( < 1000 )和道路數目M&#xff1b;隨后的M行對應M條道路&#xff0c;每行給出一對正整數&#xff0c;分別是該條道路直接連通的兩個城鎮的編號。為簡單起見&#xff0c;城鎮…

java jdbc連接db2數據庫_Java連接db2數據庫(常用數據庫連接五)

1.安裝好db2數據庫&#xff0c;并建立表如下&#xff1a;2.eclipse或myeclipse中建立工程并導入java連接db2所需要的jar包db2java.jar 下載地址&#xff1a;http://download.csdn.net/detail/whzhaochao/64149813.建立iConn接口&#xff0c;代碼如下&#xff1a;package com.zh…

在Windows上,遷移VisualSVN server

最近在搭建自動化測試框架&#xff0c;順便了解了一下SVN的搭建。對于一般的使用場景&#xff0c;VisualSVN還是挺方便的&#xff0c;而且上手特別快。 由于是第一個demo&#xff0c;后期要遷移到其他服務器上面&#xff0c;所以就熟悉了一下server的遷移。以下是一些記錄信息&…

練習腳本三:日志清除

日志清除 #!/bin/bash #清除日志腳本&#xff0c;版本2 LOG_DIR/var/logROOT_UID0 #$UID為0的時候&#xff0c;用戶才具有root用戶的權限#判斷是否使用root用戶來運行 if [ "$UID" -ne "$ROOT_UID" ];thenecho "Must be root to run this script.&qu…

Oracle通過邀請Weaver和Chin推動JavaFX向前發展

我昨天發布了愚人節帖子&#xff0c;內容涉及加入NASA協助探索紅色大行星。 那個帖子與事實相距不遠... NASA開發的技術的所有細節都是100&#xff05;準確的。 哎呀&#xff0c;即使我辭職也是事實&#xff01; 唯一不正確的部分是我將加入的公司。 在NASA協助探索火星的工作也…

java privilege的用法_java反射--注解的定義與運用以及權限攔截

自定義注解類編寫的一些規則:1. Annotation型定義為interface, 所有的Annotation會自動繼承java.lang.Annotation這一接口,并且不能再去繼承別的類或是接口.2. 參數成員只能用public或默認(default)這兩個訪問權修飾3. 參數成員只能用基本類型byte,short,char,int,long,float,d…

WinForm------TextEdit只能輸入數字

代碼: this.textEdit1.Properties.Mask.EditMask "\d"; this.textEdit1.Properties.Mask.MaskType MaskType.RegEx; 轉載于:https://www.cnblogs.com/tianhengblogs/p/6093634.html

mysql使用隨筆

mysql 刪除語句 &#xff1a;delete from 表名 where 條件; 例如 delete from tbuserinfo where id 2;mysql 查詢語句 &#xff1a;select * 列名 from 表名 where 條件;mysql 模糊查詢 &#xff1a; SELECT * FROM 表名 WHERE 列名 LIKE "3%&qu…

JavaFX:創建Sprite動畫

到目前為止&#xff0c;盡管我的大多數文章都涉及JavaFX屬性和綁定&#xff0c;但今天我想寫一講我也致力于JavaFX運行時的另一部分&#xff1a;動畫API。 在本文中&#xff0c;我將解釋如何在JavaFX中編寫自定義動畫&#xff0c;以及如何使用這種方法為Sprite動畫創建類。 &am…

java tick_Java中的Clock tick()方法

可以使用tick()Java中Clock類中的方法在所需的時間范圍內舍入基本時鐘的瞬間。此方法需要兩個參數&#xff0c;即基本時鐘和滴答的持續時間。同樣&#xff0c;返回在所需持續時間內四舍五入的基本時鐘時刻。演示此的程序如下所示-示例import java.time.*;public class Main {pu…

JAVA 常用框架和工具

集成開發工具&#xff08;IDE&#xff09;&#xff1a;Eclipse、MyEclipse、Spring Tool Suite&#xff08;STS&#xff09;、Intellij IDEA、NetBeans、JBuilder、JCreator JAVA服務器&#xff1a;tomcat、jboss、websphere、weblogic、resin、jetty、apusic、apache 負載均衡…

MySQL Doublewrite Buffer及業務評估

1. 關于Doublewrite Buffe的總結 Doublewrite Buffer&#xff1a;Doublewrite Buffer出現的初衷是防止buffer pool中的臟頁刷新到磁盤中&#xff0c;出現部分寫的問題&#xff0c;innodb頁大小一般為16k&#xff0c;而Linux操作系統的block size一般為4k。這樣在刷新的過程中&a…

使用UIBinder的GWT自定義按鈕

這是一個有關如何在GWT上使用UIBinder創建自定義按鈕的示例。 public class GwtUIBinderButton implements EntryPoint {public void onModuleLoad() {Button button new Button();button.setText("Button");button.addClickHandler(new ClickHandler(){Overridepub…

delete postman 傳參_PostMan 傳參boolean 類型,接口接受的值一直是false

情形&#xff1a;最近寫前臺頁面的一個按鈕&#xff0c;功能是&#xff1a;點擊后切換狀態&#xff0c;顯示是或否。字段名稱是isTest,類型是boolean 。寫完接口&#xff0c;拿postMan測試&#xff0c;傳參如下&#xff1a;但是后臺接口接受的數據 一直是false,處理&#xff1a…

前端學PHP之文件操作

前端學PHP之文件操作 前面的話 在程序運行時&#xff0c;程序本身和數據一般都存在內存中&#xff0c;當程序運行結束后&#xff0c;存放在內存中的數據被釋放。如果需要長期保存程序運行所需的原始數據&#xff0c;或程序運行產生的結果&#xff0c;就需要把數據存儲在文件或數…

騰訊云CentOS6.5下安裝mysql,并配置好遠程訪問等權限,途中遇到的問題

1.使用yum命令安裝mysql [rootbogon ~]# yum -y install mysql-server 2.設置開機啟動 [rootbogon ~]# chkconfig mysqld on 3.啟動MySQL服務 [rootbogon ~]# service mysqld start 4.設置MySQL的root用戶設置密碼 [rootbogon ~]# mysql -u root mysql> select u…

休眠性能提示:臟收集效果

在使用Hibernate作為ORM開發服務器和嵌入式應用程序8年后&#xff0c;我全力以赴地尋求提高Hibernate性能的解決方案&#xff0c;閱讀博客和參加會議&#xff0c;我決定與您分享這幾年獲得的知識。 這是更多新帖子中的第一篇&#xff1a; 去年&#xff0c;我以Devoxx的身份參加…

java runtime 異常_Java中RuntimeException和Exception

在java的異常類體系中,Error和RuntimeException是非檢查型異常&#xff0c;其他的都是檢查型異常。所有方法都可以在不聲明throws的情況下拋出RuntimeException及其子類不可以在不聲明的情況下拋出非RuntimeException簡單的說&#xff0c;非RuntimeException必要自己寫catch塊處…

BZOJ3130: [Sdoi2013]費用流[最大流 實數二分]

3130: [Sdoi2013]費用流 Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 960 Solved: 505[Submit][Status][Discuss]Description Alice和Bob在圖論課程上學習了最大流和最小費用最大流的相關知識。 最大流問題&#xff1a;給定一張有向圖表示運輸網絡…