linux檢視磁碟io的幾種方法

2021-09-02 19:43:54 字數 1713 閱讀 5697

怎樣才能快速的定位到併發高是由於磁碟io開銷大呢?可以通過三種方式:

第一種:用 top 命令 中的cpu 資訊觀察

top可以看到的cpu資訊有:

tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie

cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si

具體的解釋如下:

tasks: 29 total 程序總數

1 running 正在執行的程序數

28 sleeping 睡眠的程序數

0 stopped 停止的程序數

0 zombie 殭屍程序數

cpu(s):

0.3% us 使用者空間占用cpu百分比

1.0% sy 核心空間占用cpu百分比

0.0% ni 使用者程序空間內改變過優先順序的程序占用cpu百分比

98.7% id 空閒cpu百分比

0.0% wa 等待輸入輸出的cpu時間百分比

0.0% hi

0.0% si

0.0% wa 的百分比可以大致的體現出當前的磁碟io請求是否頻繁。如果 wa的數量比較大,說明等待輸入輸出的的io比較多。

第二種:用vmstat

vmstat 命令報告關於執行緒、虛擬記憶體、磁碟、陷阱和 cpu 活動的統計資訊。由 vmstat 命令生成的報告可以用於平衡系統負載活動。系統範圍內的這些統計資訊(所有的處理器中)都計算出以百分比表示的平均值,或者計算其總和。

輸入命令:

vmstat 2 5

如果發現等待的程序和處在非中斷睡眠狀態的程序數非常多,並且傳送到塊裝置的塊數和從塊裝置接收到的塊數非常大,那就說明磁碟io比較多。

vmstat引數解釋:

procs

r: 等待執行的程序數 b: 處在非中斷睡眠狀態的程序數 w: 被交換出去的可執行的程序數。此數由 linux 計算得出,但 linux 並不耗盡交換空間

memory

swpd: 虛擬記憶體使用情況,單位:kb

free: 空閒的記憶體,單位kb

buff: 被用來做為快取的記憶體數,單位:kb

swap

si: 從磁碟交換到記憶體的交換頁數量,單位:kb/秒

so: 從記憶體交換到磁碟的交換頁數量,單位:kb/秒

iobi: 傳送到塊裝置的塊數,單位:塊/秒

bo: 從塊裝置接收到的塊數,單位:塊/秒

system

in: 每秒的中斷數,包括時鐘中斷

cs: 每秒的環境(上下文)切換次數

cpu按 cpu 的總使用百分比來顯示

us: cpu 使用時間

sy: cpu 系統使用時間

id: 閒置時間

準測更多vmstat使用資訊

第二種:用iostat

安裝:iostat 是 sysstat 工具集的乙個工具,需要安裝。

centos的安裝方式是:

yum install sysstat

ubuntu的安裝方式是:

aptitude install sysstat

使用:iostat -dx 顯示磁碟擴充套件資訊

r/s 和 w/s 分別是每秒的讀操作和寫操作,而rkb/s 和wkb/s 列以每秒千位元組為單位顯示了讀和寫的資料量

如果這兩對資料值都很高的話說明磁碟io操作是很頻繁

linux檢視磁碟io的幾種方法

怎樣才能快速的定位到併發高是由於磁碟io開銷大呢?可以通過三種方式 第一種 用 top 命令 中的cpu 資訊觀察 top可以看到的cpu資訊有 tasks 29 total,1 running,28 sleeping,0 stopped,0 zombie cpu s 0.3 us,1.0 sy,0...

linux檢視磁碟io的幾種方法

怎樣才能快速的定位到併發高是由於磁碟io開銷大呢?可以通過三種方式 第一種 用 top 命令 中的cpu 資訊觀察 top可以看到的cpu資訊有 tasks 29 total,1 running,28 sleeping,0 stopped,0 zombie cpu s 0.3 us,1.0 sy,0...

linux檢視磁碟io的幾種方法

怎樣才能快速的定位到併發高是由於磁碟io開銷大呢?可以通過三種方式 第一種 用 top 命令 中的cpu 資訊觀察 top可以看到的cpu資訊有 tasks 29 total,1 running,28 sleeping,0 stopped,0 zombie cpu s 0.3 us,1.0 sy,0...