在Linux中,block device就是泛指disk I/O這塊系統...
在Linux中,block device就是泛指disk I/O這塊系統,在block device中,我們所關注的項目有:
I/O等待的時間(iowait)。這個時間是CPU花在等待I/O完成的時間,iowait越長,代表I/O系統存在著瓶頸。
Queue的平均長度。I/O queue越長,代表著越多I/O在排隊,表示disk有瓶頸。
I/O平均等待時間(average wait)。不同於iowait,average wait指的是當系統發出一個I/O請求時,平均要等多少時間才會被處理。這時間包含I/O處理以及在queue中等待的時間。
傳輸率,也就是每秒有多少個讀取或寫入的I/O動作。
Block r/w,每秒進行的block read/write的個數。Block的大小是根據kernel的定義,從512 bytes, 1KB 到 4KB都有。
KB r/w,每秒read/write多少KB,這是最常見的throughput代表。
以上所列舉的各個Linux子系統的效能關鍵字,都是我們在面對Linux效能問題時可能會關注的點,而且他們有些時候是息息相關的。譬如說,當我們發現網路資料傳輸很慢,你可能會先看網路系統的效能表現,看看封包沒有丟棄的問題。你也會關注disk I/O的狀況,了解真實的throughput有多少。另外,CPU和記憶體的使用情形,也可以用來判斷是不是系統本身的運算能力就不太夠了。
這4天先跟大家輕描淡寫地談談Linux系統效能的有那些值得關注的重點,接下來要跟大家進一步看看每個子系統的運作。從了解系統的運作中,我們可以更加認識那些影響系統效能的關鍵點。
[本系列文章]
Linux系統效能分析與探討 - [1] CPU的效能關鍵字
Linux系統效能分析與探討 - [2] 記憶體的效能關鍵字
Linux系統效能分析與探討 - [3] Linux作業系統網路模組的效能關鍵字
請問chiounan大大,會介紹怎麼看Linux連接裝置的介紹嗎? 像是SAN Disk或是Tape Library之類的?
大大不敢當。太陽,您是我的偶像咧,您的文章真是叫人愛看。
要看Linux連接的裝置可以透過 'cat /proc/scsi/scsi' 命令來看,他會列出所有attached的device,以及它們連接的資訊,包括adapter, channel, id, lun等等,請看這個例子:
<pre class="c" name="code">
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
我之後寫道block device這塊時,再多說一些吧。
謝謝你耶,太陽大,謝謝你的提問,我覺得很榮幸。
謝謝您的指導啊!
我會去試試,感謝chiounan大大