linux測試磁碟io
⑴ 如何查看linux伺服器io讀寫情況
首先 、用top命令查看
top - 16:15:05 up 6 days, 6:25, 2 users, load average: 1.45, 1.77, 2.14
Tasks: 147 total, 1 running, 146 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2% us, 0.2% sy, 0.0% ni, 86.9% id, 12.6% wa, 0.0% hi, 0.0% si
Mem: 4037872k total, 4003648k used, 34224k free, 5512k buffers
Swap: 7164948k total, 629192k used, 6535756k free, 3511184k cached
查看12.6% wa
IO等待所佔用的CPU時間的百分比,高過30%時IO壓力高
其次、 用iostat -x 1 10
avg-cpu: %user %nice %sys %iowait %idle
0.00 0.00 0.25 33.46 66.29
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 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 1122 17.00 9.00 192.00 9216.00 96.00 4608.00 123.79 137.23 1033.43 13.17 100.10
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
查看%util 100.10 %idle 66.29
如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟可能存在瓶頸。
idle小於70% IO壓力就較大了,一般讀取速度有較多的wait.
同時可以結合vmstat 查看查看b參數(等待資源的進程數)
vmstat -1
如果你想對硬碟做一個IO負荷的壓力測試可以用如下命令
time dd if=/dev/zero bs=1M count=2048 of=direct_2G
此命令為在當前目錄下新建一個2G的文件
我們在新建文件夾的同時來測試IO的負荷情況
⑵ 如何測試linux磁碟的讀寫速度
功能說明:顯示與設定硬碟的參數。
語法: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某個時刻磁碟io很高的原因
打開終端用top命令查看。輸入:
1
top
#查看swap
1
2
iostat
-x
1
10#查看%util
%idle
#如果
iostat
沒有要
yum
install
sysstat
1
#如果
%util
接近
100%,說明產生的i/o請求太多,i/o系統已經滿負荷,該磁碟可能存在瓶頸。idle小於70%
io壓力就較大了,一般讀取速度有較多的wait.
1
2
3
#如果你想對硬碟做一個io負荷的壓力測試可以用如下命令
time
dd
if=/dev/zero
bs=1m
count=2048
of=direct_2g
#此命令為在當前目錄下新建一個2g的文件
1
歡迎追問
⑷ 如何查看linux伺服器硬碟IO讀寫負載
打開終端
用top命令查看。輸入:
top#查看swap
iostat-x110#查看%util%idle
#如果iostat沒有要yuminstallsysstat#如果%util接近100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟可能存在瓶頸。idle小於70%IO壓力就較大了,一般讀取速度有較多的wait.
#如果你想對硬碟做一個IO負荷的壓力測試可以用如下命令
timeddif=/dev/zerobs=1Mcount=2048of=direct_2G
#此命令為在當前目錄下新建一個2G的文件歡迎追問
⑸ 如何監測Linux進程的實時IO讀寫情況
iotop怎麼用
1
本經驗咗嚛以centos為例演示,首先先安裝一下iotop程序。
可以通過yum install intop 安裝
如果伺服器不能上網,請參考下面經驗解決
Linux不能上網ping:unknown host問題怎麼解決
http://jingyan..com/article/4d58d54137d2a19dd5e9c050.html
2
伺服器能上網,通過yum之後找到 iotop相關的程序,選擇Y 進行確認安裝
3
安裝好之後,我們可以通過rpm -qa |grep iotop 確認是否已經安裝好, 直接通過io tab補全查看有這個命令
4
怎麼檢測centos進程負載
直接輸入iotop 查看當前系統進程的磁碟讀寫情況,注意這個是一個動態的顯示結果。
5
當然也可以通過輸入 iotop -o 直接查看輸出比較高的磁碟讀寫程序。
注意觀察發現異常的進程,記錄下程序的路徑(最後面就是腳本或文件的執行路徑)
6
至於iotop的使用方法還有很多命令,具體可以通過 iotop -- help來獲取。 一般用 - o這個參數就行
END
其他相關檢測診斷
除了上述的磁碟讀寫的資源情況來看,還需要結合cpu,內存佔用資源查看異常進程。
可以通過top 來檢測(如果顯示都是紅色的話,那就要注意了。硬體的資源佔用負載比較高要考慮擴容內存了)
對於異常進程的查看,一般都是要確認有沒有系統中毒或者惡意數據外發。可以通過netstat來查看伺服器網路連接情況。
Netstat -ntlp 根據網路連接情況,最後面一欄是顯示的路徑\進程的位置。對於發現異常進程處理很有幫助
步驟閱讀
3
對於centos系統的安全性查看和檢查,以上咗嚛介紹的只是很小的一部分。對於管理員平時的維護,管理員密碼要定期修改採用強密碼,同時對於不必要的埠不要對外開放,注意平時管理linux伺服器最好不要直接用root許可權來操作。
⑹ 我想做linux 的磁碟io性能測試,有什麼好的工具和方法推薦嗎,感謝
用Linux自帶的命令 dd
寫
#time dd if=/dev/zero bs=1024 count=1000000 of=/tmp/1Gb.file
1024000000 bytes (1.0 GB) copied, 9.46522 s, 108 MB/s
real 0m9.503s
user 0m0.316s
sys 0m8.485s
讀
#time dd if=/tmp/1Gb.file bs=64k |dd of=/dev/null
1024000000 bytes (1.0 GB) copied, 9.46522 s, 108 MB/s
real 0m9.503s
user 0m0.316s
sys 0m8.485s
⑺ 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
⑻ 怎麼查看linux中某個程序佔用磁碟i/O的情況, 怎麼測試linux系統中磁碟i/o的速度
WINDOWS、UNIX、XENIX、Mac OS)、實時系統(iEMX、VRTX、RTOS,RT Linux);
根據所支持的用戶數目,可分為單用戶(MSDOS、 OS/2)、多用戶系統(UNIX、MVS、Windows);
根據硬體結構,可分為網路操作系統(Netware、Windows NT、 OS/2 warp)、分布式系統(Amoeba)、多媒體系統(Amiga)等
另外,虛機團上產品團購,超級便宜
⑼ 怎麼查看linux的哪個進程佔用磁碟io較多
1.使用iotop命令
使用該命令有個條件,Linux內核要高於2.6.20的版本,版本過低則沒有此命令,執行效果如下圖所示:
注意:操作完成後請關閉block_mp和啟動syslog
echo 0 > /proc/sys/vm/block_mp #關閉block_mp
/etc/init.d/syslog start #啟動syslog