![一段時間後 ubuntu kvm 磁碟 io 變慢](https://rvso.com/image/658356/%E4%B8%80%E6%AE%B5%E6%99%82%E9%96%93%E5%BE%8C%20ubuntu%20kvm%20%E7%A3%81%E7%A2%9F%20io%20%E8%AE%8A%E6%85%A2.png)
主機系統:
Ubuntu Server x64 12.04
mdadm raid 1 (/dev/sda /dev/sdb)
no lvm
dd bs=1M count=256 if=/dev/zero of=filename conv=fdatasync
avarage ~ 40 MB/s
NCQ on disks is disabled
WriteCache is disables
訪客系統:
Ubuntu server i386 12.04
with lvm2 /10Gb /200Gb /200Gb disks all on lv-root (LV)
--- Physical volume ---
PV Name /dev/vda5
VG Name root-vg
PV Size 9.76 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 2498
Free PE 0
Allocated PE 2498
--- Physical volume ---
PV Name /dev/vdb
VG Name root-vg
PV Size 195.31 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 49999
Free PE 0
Allocated PE 49999
--- Physical volume ---
PV Name /dev/vdc
VG Name root-vg
PV Size 195.31 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 49999
Free PE 0
Allocated PE 49999
dd bs=1M count=256 if=/dev/zero of=filename conv=fdatasync
avarage ~ 30 MB/s
all disks in guest are RAWformat /VirtioBUS / No cache / IOmode=native
一段時間後,寫入速度降至 1 MB/s,但主機系統未加載,且 dd 測試顯示相同的 30-40 MB/s,CPU 使用率 10%。訪客重新啟動會暫時有所幫助。沒有錯誤/故障/沒有 mdadm 重建或重新同步。
不知道問題出在哪裡或在哪裡挖掘。
看起來這對來賓有幫助:sync && echo 3 > /proc/sys/vm/drop_caches
類似問題在具有 64GB mem 的系統上,當使用 dd 複製到 dev null 時,Linux 緩衝區運行滿,並且 io 停止,直到手動 drop_caches
答案1
我認為所發生的情況是,30-40 MB/s 的初始效能是由於 Linux 核心的快取(以及可能在硬體層級上進行的任何其他快取)造成的。一旦快取“用完”,實際的磁碟存取就會開始啟動,效能就會下降。
另外為了DD為了獲得更好的性能,請設置BS=論證一個相當大的尺寸。我個人喜歡將其設置為可用內存的 1/3-1/2 左右。您的 1M 設置不是最佳設置,也是效能數字較低的主要原因。但即使是最優的BS=設定您會在某個時刻看到效能下降,如上所述。