導航:首頁 > 操作系統 > linux測試硬碟讀寫速度

linux測試硬碟讀寫速度

發布時間:2023-05-07 22:38:49

linux查看磁碟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.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/秒

IO

bi: 發送到塊設備的塊數,單位:塊/秒

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 顯示磁碟擴展信息

root@fileapp:~# iostat -dx

r/s 和 w/s 分別是每秒的讀操作和寫操作,而rKB/s 和wKB/s 列以每秒千位元組為單位顯示了讀和寫的數據量

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

+++++++++++++++++++++++++++++++++++++

linux wa%過高,iostat查看io狀況

1, 安裝  iostat  

yum install sysstat

之後就可以使用 iostat 命令了,

2,入門使用

iostat -d -k 2

參數 -d 表示,顯示設備(磁碟)使用狀態;-k某些使用block為單位的列強制使用Kilobytes為單位;2表示,數據顯示每隔2秒刷新一次。

tps:該設備每秒的傳輸次數(Indicate the number of transfers per second that were issued to the device.)。"一次傳輸"意思是"一次I/O請求"。多個邏輯請求可能會被合並為"一次I/O請求"。"一次傳輸"請求的大小是未知的。kB_read/s:每秒從設備(drive expressed)讀取的數據量;

kB_wrtn/s:每秒向設備(drive expressed)寫入的數據量;

kB_read:讀取的總數據量;kB_wrtn:寫入的總數量數據量;這些單位都為Kilobytes。

指定監控的設備名稱為sda,該命令的輸出結果和上面命令完全相同。

iostat -d sda 2

默認監控所有的硬碟設備,現在指定只監控sda。 

3, -x 參數

iostat還有一個比較常用的選項 -x ,該選項將用於顯示和io相關的擴展數據。

iostat -d -x -k 1 10

輸出信息的含義



4, 常見用法

iostat -d -k 1 10        #查看TPS和吞吐量信息(磁碟讀寫速度單位為KB)

iostat -d -m 2            #查看TPS和吞吐量信息(磁碟讀寫速度單位為MB)

iostat -d -x -k 1 10      #查看設備使用率(%util)、響應時間(await) iostat -c 1 10 #查看cpu狀態

5, 實例分析

iostat -d -k 1 | grep vda

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

sda10            60.72        18.95        71.53  395637647 1493241908

sda10          299.02      4266.67      129.41      4352        132

sda10          483.84      4589.90      4117.17      4544      4076

sda10          218.00      3360.00      100.00      3360        100

sda10          546.00      8784.00      124.00      8784        124

sda10          827.00    13232.00      136.00      13232        136

上面看到,磁碟每秒傳輸次數平均約400;每秒磁碟讀取約5MB,寫入約1MB。

iostat -d -x -k 1

Device:    rrqm/s wrqm/s  r/s  w/s  rsec/s  wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz  await  svctm  %util

sda          1.56  28.31  7.84 31.50  43.65    3.16    21.82    1.58    1.19    0.03    0.80  2.61  10.29

sda          1.98  24.75 419.80  6.93 13465.35  253.47  6732.67  126.73    32.15    2.00    4.70  2.00  85.25

sda          3.06  41.84 444.90 54.08 14204.08 2048.98  7102.04  1024.49    32.57    2.10    4.21  1.85  92.24

可以看到磁碟的平均響應時間<5ms,磁碟使用率>80。磁碟響應正常,但是已經很繁忙了。

可以看到磁碟的平均響應時間<5ms,磁碟使用率>90。磁碟響應正常,但是已經很繁忙了。

await:  每一個IO請求的處理的平均時間(單位是微秒毫秒)。這里可以理解為IO的響應時間,一般地系統IO響應時間應該低於5ms,如果大於10ms就比較大了

svctm    表示平均每次設備I/O操作的服務時間(以毫秒為單位)。如果svctm的值與await很接近,表示幾乎沒有I/O等待,磁碟性能很好,

如果await的值遠高於svctm的值,則表示I/O隊列等待太長,  系統上運行的應用程序將變慢。

%util: 在統計時間內所有處理IO時間,除以總共統計時間

所以該參數暗示了設備的繁忙程度

。一般地,如果該參數是100%表示設備已經接近滿負荷運行了(當然如果是多磁碟,即使%util是100%,因為磁碟的並發能力,所以磁碟使用未必就到了瓶頸)。

也可以使用下面的命令,同時顯示cpu和磁碟的使用情況

等待時間超過5ms, 磁碟io有問題

㈡ 在 Linux 上檢測硬碟速度

在Linux中可以用 hdparm 命令來測試硬碟速度。

為了檢測更精準,這個操作應該 重復2-3次 。這顯示了無需訪問磁碟,直接從 Linux 緩沖區緩存中讀取的速度。這個測量實際上是被測系統的處理器、高速緩存和存儲器的吞吐量的指標。這是一個 for 循環的例子,連續運行測試 5 次:

㈢ linux怎麼計算io讀寫速度

Linux下測試磁碟的讀寫IO速度,使用hdparm命令,下面是測試方法:

#hdparm-Tt/dev/sda
/dev/sda:
Timingcachedreads:6676MBin2.00seconds=3340.18MB/sec
Timingbuffereddiskreads:218MBin3.11seconds=70.11MB/sec
#可以看到,2秒鍾讀取了6676MB的緩存,約合3340.18MB/sec;
#在3.11秒中讀取了218MB磁碟(物理讀),讀取速度約合70.11MB/sec;

㈣ Linux 如何測試 IO 性能(磁碟讀寫速度

linux下測試磁碟IO讀寫速度
[root@node3 /]# time dd if=/dev/sda2 of=/dev/null bs=8k count=524288
524288+0 records in
524288+0 records out
4294967296 bytes (4.3 GB) copied, 37.4222 seconds, 115 MB/s
real 0m37.497s
user 0m0.036s
sys 0m1.320s
了4.3G的數據,平均速度為115M/s

[root@node3 /]# hdparm -t /dev/sda2
/dev/sda2:
Timing buffered disk reads: 284 MB in 3.00 seconds = 94.55 MB/sec

[root@node3 /]# hdparm -t /dev/sda2
/dev/sda2:
Timing buffered disk reads: 292 MB in 3.02 seconds = 96.82 MB/sec

讀了將近300M的數據,平均速度大約為95M/s
經過以上的測試數據大體估算該磁碟的性能大約為100M/s

㈤ windows和Linux測試磁碟讀寫速度

測試windows的命令:winsat disk -drive 盤符,其中D盤是機械硬碟,C盤是SSD;從截圖中可以看出機械硬碟順序讀的速度是隨機讀的10倍,SSD的順序讀速度接近隨機讀的3倍

㈥ linux伺服器測試單個硬碟的讀寫速度的命令是什麼

C菜鳥助手成員tonytvb為你解答(如有疑問請hi我或向我的團隊提問):

功能說明:顯示與設定硬碟的參數。

語法:hdparm [-CfghiIqtTvyYZ][-a <快取分區>][-A <0或1>][-c ][-d <0或1>][-k <0或1>][-K <0或1>][-m <分區數>][-n <0或1>][-p ][-P <分區數>][-r <0或1>][-S <時間>][-u <0或1>][-W <0或1>][-X <傳輸模式>][設備]

補充說明:hdparm可檢測,顯示與設定IDE或SCSI硬碟的參數。

測試各硬碟讀取速度判斷硬碟故障

在服務端命令窗口中執行如下命令

hdparm -t /dev/hda (IDE硬碟)

hdparm -t /dev/sda (SATA、SCSI、硬RAID卡陣列)

hdparm -t /dev/md0 (軟RAID設備)

測試結果在空載情況下應 >40M/s ,在負載情況下平均應 > 20M/s 為正常,如測試結果極低則需要進一步使用硬碟專用檢測工具測試是否為硬碟故障。

參數:

-a<快取分區> 設定讀取文件時,預先存入塊區的分區數,若不加上<快取分區>選項,則顯示目前的設定。

-A<0或1> 啟動或關閉讀取文件時的快取功能。

-c 設定IDE32位I/O模式。

-C 檢測IDE硬碟的電源管理模式。

-d<0或1> 設定磁碟的DMA模式。

-f 將內存緩沖區的數據寫入硬碟,並清楚緩沖區。

-g 顯示硬碟的磁軌,磁頭,磁區等參數。

-h 顯示幫助。

-i 顯示硬碟的硬體規格信息,這些信息是在開機時由硬碟本身所提供。

-I 直接讀取硬碟所提供的硬體規格信息。

-k<0或1> 重設硬碟時,保留-dmu參數的設定。

-K<0或1> 重設硬碟時,保留-APSWXZ參數的設定。

-m<磁區數> 設定硬碟多重分區存取的分區數。

-n<0或1> 忽略硬碟寫入時所發生的錯誤。

-p 設定硬碟的PIO模式。

-P<磁區數> 設定硬碟內部快取的分區數。

-q 在執行後續的參數時,不在屏幕上顯示任何信息。

-r<0或1> 設定硬碟的讀寫模式。

-S<時間> 設定硬碟進入省電模式前的等待時間。

-t 評估硬碟的讀取效率。

-T 平谷硬碟快取的讀取效率。

-u<0或1> 在硬碟存取時,允許其他中斷要求同時執行。

-v 顯示硬碟的相關設定。

-W<0或1> 設定硬碟的寫入快取。

-X<傳輸模式> 設定硬碟的傳輸模式。

-y 使IDE硬碟進入省電模式。

-Y 使IDE硬碟進入睡眠模式。

-Z 關閉某些Seagate硬碟的自動省電功能。

閱讀全文

與linux測試硬碟讀寫速度相關的資料

熱點內容
exe打開指定文件夾 瀏覽:264
pdf裡面怎麼去水印 瀏覽:845
appleid賬號加密碼 瀏覽:220
蘋果如何下載微倉app 瀏覽:916
迅雷解壓進度為0 瀏覽:859
解壓解惑近義詞 瀏覽:316
壓縮比不一樣燃燒室不一樣 瀏覽:101
androidbutton左對齊 瀏覽:172
怎麼找到學校的伺服器 瀏覽:368
android狀態欄高度是多少 瀏覽:987
linuxcliphp 瀏覽:515
蘿卜源碼如何關閉用戶注冊驗證 瀏覽:756
蘋果手機頭條app怎麼沒有tv 瀏覽:563
電腦qq文件夾怎麼發不出去 瀏覽:614
解壓小游戲測試鑽石劍的硬度 瀏覽:964
java結束函數 瀏覽:624
打開遠程桌面的命令 瀏覽:838
樹莓派如何搭建mqtt伺服器 瀏覽:589
怎麼加密w8文件 瀏覽:611
linuxprogram 瀏覽:710