我有一台運行Ubuntu Server 12.04的服務器,我想查看磁盤IO統計信息。我已經嘗試過top和htop,但是它們都不輸出類似於IO的數據。有命令行工具可以做到這一點嗎?
我有一台運行Ubuntu Server 12.04的服務器,我想查看磁盤IO統計信息。我已經嘗試過top和htop,但是它們都不輸出類似於IO的數據。有命令行工具可以做到這一點嗎?
您可能正在尋找 iotop。它提供您正在尋找的每個過程的信息。如果運行最新的內核,則需要以超級用戶權限運行它,因為對NET_ADMIN權限的一些更改已於一年前完成。只需安裝並運行 sudo iotop
Bwm-ng,當您循環選擇可用方法時,也可以輸出一些磁盤I / O統計信息。與iotop相比,Linux上的bwm-ng的優點是您不需要NET_ADMIN功能,因此默認情況下它將以普通用戶身份運行。如圖所示,它提供了每個設備的信息。
如果要獲取磁盤的生命週期統計信息,請嘗試 smartctl -a / dev /您的磁盤/代碼
htop
可以顯示每個進程的I / O速率,但是您需要添加 IO_READ_RATE / IO_WRITE_RATE / IO_RATE
列之一。
您可以使用 iostat:
sudo apt-get install -y sysstat
iostat-dx3
將顯示自從系統在第一個報告中啟動以來的擴展設備統計信息,以及在後續報告中直至中斷的最後3秒的增量
列'的含義:
- 設備:此列為設備(
- tps:指示每秒發送到設備的傳輸次數。
- Blk_read / s:指示從設備讀取的數據量,表示為
- Blk_wrtn / s:指示以每秒的塊數表示的寫入設備的數據量。
- Blk_read:塊的總數
- Blk_wrtn:寫入的總塊數。
- kB_read / s:表示從設備讀取的數據量,以每秒千字節為單位。
- kB_wrtn / s :表示以每秒千字節為單位表示寫入設備的數據量。
- kB_read:讀取的千字節總數。
- kB_wrtn:寫入的千字節總數。
li>- MB_read / s:表示從設備讀取的數據量,以每秒兆字節表示。
- MB_wrtn / s:表示寫入設備的數據量,以兆字節/秒錶示。
- MB_read:讀取的兆字節總數。
- MB_wrtn:寫入的兆字節總數。
- rrqm / s:每個讀取請求合併的讀取請求數
- wrqm / s:每秒合併到設備中的寫入請求數。
- r / s:讀取請求數
- w / s:每秒發出給設備的寫請求數。
- rsec / s:讀取的扇區數每秒從設備中獲取。
- wsec / s:每秒寫入設備的扇區數。
- rkB / s:每秒從設備讀取的千字節數。
- wkB / s :每秒寫入設備的千字節數。
- rMB / s:每秒從設備讀取的兆字節數。
- wMB / s:寫入的兆字節數
- avgrq-sz:發出到設備的請求的平均大小(以扇區為單位)。
- avgqu-sz:的平均隊列長度為
- 等待:發出給要服務的設備的I / O請求的平均時間(以毫秒為單位)。這包括隊列中的請求所花費的時間以及為請求服務所花費的時間。
- svctm:發布給設備的I / O請求的平均服務時間(以毫秒為單位)。
- %util:向設備發出I / O請求的CPU時間百分比(設備的帶寬利用率)。當此值接近100%時會發生設備飽和。
(PS:iotop +1,這是我使用最多的那個)
我喜歡 dstat
Dstat是vmstat,iostat和ifstat的多功能替代品。 Dstat克服了一些限制,並添加了一些額外的功能。
Dstat允許您立即查看所有系統資源,可以將磁盤使用情況與控制器的中斷相結合來進行比較,或者可以比較網絡帶寬數量
Dstat還會在列中為您提供最詳細的信息,並清楚指示輸出的大小和單位。
Dstat的獨特之處在於,它可以讓您為某個磁盤集聚合一組設備的塊設備吞吐量,或者為一組接口聚合網絡帶寬,即。您可以看到組成單個文件系統或存儲系統的所有塊設備的吞吐量。
Dstat允許將其數據直接寫入CSV文件,以供OpenOffice,Gnumeric或Excel導入和使用。
上面是命令 dstat -D total,sda,sdb,sdc, sdd,sde
有關更多信息,請查看手冊頁 man dstat