Linux 查詢佔用磁碟IO讀寫很高的程式方法
線上一臺伺服器告警,磁碟利用率 disk.util > 90,並持續告警。登入該伺服器後通過 iostat -x 1 10 檢視相關磁碟使用資訊。 |
通過
iostat -x 1 10 檢視相關磁碟使用資訊
相關截圖如下:
1 # 如果沒有 iostat 命令,那麼使用 yum install sysstat 進行安裝 2 # iostat -x 1 10
由上圖可知,vdb磁碟的 %util【IO】幾乎都在100%,原因是頻繁的讀取資料造成的。
其他欄位說明
Device:裝置名稱 tps:每秒的IO讀、寫請求數量,多個邏輯請求可以組合成對裝置的單個I/O請求。 Blk_read/s (kB_read/s, MB_read/s):從裝置讀取的資料量,以每秒若干塊(千位元組、兆位元組)表示。塊相當於扇區,因此塊大小為512位元組。 Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s):寫入裝置的資料量,以每秒若干塊(千位元組、兆位元組)表示。塊相當於扇區,因此塊大小為512位元組。 Blk_read (kB_read, MB_read):讀取塊的總數(千位元組、兆位元組)。 Blk_wrtn (kB_wrtn, MB_wrtn):寫入塊的總數(千位元組,兆位元組)。 rrqm/s:每秒合併到裝置的讀請求數。即delta(rmerge)/s wrqm/s:每秒合併到裝置的寫入請求數。即delta(wmerge)/s r/s:每秒完成的讀I/O裝置次數。即delta(rio)/s w/s:每秒完成的寫I/0裝置次數。即delta(wio)/s rsec/s (rkB/s, rMB/s):每秒讀取裝置的扇區數(千位元組、兆位元組)。每扇區大小為512位元組 wsec/s (wkB/s, wMB/s):每秒寫入裝置的扇區數(千位元組、兆位元組)。每扇區大小為512位元組 avgrq-sz:平均每次裝置I/O操作的資料量(扇區為單位)。即delta(rsec+wsec)/delta(rio+wio) avgqu-sz:平均每次傳送給裝置的I/O佇列長度。 await:平均每次IO請求等待時間。(包括等待佇列時間和處理時間,毫秒為單位) r_await:平均每次IO讀請求等待時間。(包括等待佇列時間和處理時間,毫秒為單位) w_await:平均每次IO寫請求等待時間。(包括等待佇列時間和處理時間,毫秒為單位) svctm:平均每次裝置I/O操作的處理時間(毫秒)。警告!不要再相信這個欄位值,這個欄位將在將來的sysstat版本中刪除。 %util:一秒中有百分之多少的時間用於I/O操作,或者說一秒中有多少時間I/O佇列是非空的。當該值接近100%時,裝置飽和發生。
找到 IO 佔用高的程式
通過 iotop
命令
如果沒有該命令,請通過 yum install iotop 進行安裝。
# iotop -oP
通過這個命令可以看見比較詳細資訊,如:程式號,磁碟讀取量,磁碟寫入量,IO百分比,涉及到的命令是什麼「兩個都是 grep 命令造成的IO讀取量大」。
通過 pidstat 命令
1 # 命令的含義:展示I/O統計,每秒更新一次 2 # pidstat -d 1
可見其中 grep 命令佔用了大量的讀IO,之後可根據 PID 檢視相關程式資訊。
說明:本圖與上圖的PID不同,原因是上圖涉及的程式執行完了,本圖是之後執行產生的程式【都執行的同一個 指令碼】。
原文地址: https://www.linuxprobe.com/linux-io.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2675093/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記一次Linux伺服器磁碟空間佔用,大檔案查詢Linux伺服器
- Linux查詢哪個程式佔用檔案或資料夾Linux
- 定位磁碟IO佔用命令
- 查詢佔用資源高的JAVA程式碼Java
- CentOS 系統的磁碟空間佔用情況查詢CentOS
- 查詢埠號佔用
- win10系統explorer佔用cpu很高的解決方法Win10
- 簡述Linux磁碟IOLinux
- 檢視佔用磁碟空間的程式
- 查詢佔用記憶體前3名程式如何操作?linux基本入門記憶體Linux
- linux檢視mysql佔用磁碟空間LinuxMySql
- 在Linux中,如何查詢系統中佔用CPU最高的程序?Linux
- mac的cpu某段時間佔用很高Mac
- 很高興!終於踩到了慢查詢的坑
- 檢視 Linux 檔案佔用程式寫資料?Linux
- 保證高效寫入查詢的情況下,如何實現 CPU 資源和磁碟 IO 的最低開銷?
- 檢視資料庫佔用磁碟空間的方法資料庫
- win10磁碟佔用100%怎麼辦 win10磁碟佔用達到100%解決方法Win10
- SQL SERVER死鎖查詢,死鎖分析,解鎖,查詢佔用SQLServer
- PostgreSQL 原始碼解讀(24)- 查詢語句#9(查詢重寫)SQL原始碼
- Drozer 查詢可被其他應用讀取 / 寫入的檔案時,報錯
- 查詢資料庫每個表佔用的大小資料庫
- Centos Linux 清理磁碟佔用空間:/dev/xvda1CentOSLinuxdev
- Win10系統cpu佔有率很高的解決方法Win10
- 用 GHTorrent 和 Libraries.io 查詢 10 年的 GitHub 資料Github
- io流對資料的讀寫
- NTFS磁碟格式讀寫工具:Tuxera NTFS 2021 for Mac NTFS磁碟格式讀寫工具UXMac
- Linux中查詢最大檔案的方法有哪些?Linux
- Linux基礎命令---查詢程式idLinux
- linux磁碟已滿,檢視哪個檔案佔用多Linux
- Linux IO排程方法Linux
- Python 檔案讀寫(Python IO)Python
- win10系統下Conhost.exe程式佔用cpu率很高如何解決Win10
- 磁碟使用率100怎麼辦_win10磁碟佔用100%的5個解決方法Win10
- 通過禁用MSI模式解決Win10磁碟佔用100%的方法模式Win10
- 透過禁用MSI模式解決Win10磁碟佔用100%的方法模式Win10
- Linux/Centos檢視程式佔用記憶體大小的幾種方法總結LinuxCentOS記憶體
- 磁碟IO故障導致的SQLServer資料庫無法寫入SQLServer資料庫