容量の小さいファイルをコピーしたり移動している時は気が付かなかったが、大きなファイルをコピーや移動させたらやたら時間がかかる。
通常ならば、ファイルのコピーや移動はDMAによる転送になると思うので確認をすると... ナント...
[root@hoge ~]# hdparm /dev/hda /dev/hda: multcount = 16 (on) IO_support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 0 (off) keepsettings = 0 (off) readonly = 0 (off) readahead = 256 (on) geometry = 65535/255/63, sectors = 1953525168, start = 0 [root@hoge ~]# hdparm -ft /dev/hda /dev/hda: Timing buffered disk reads: 8 MB in 3.37 seconds = 2.38 MB/sec [root@ora02 ~]#
DMAの設定がOFFになっている。
また、転送速度もなんと 2.38 MB/sec と信じられない遅さだ。
確認すると。現在のCENTOSのバージョンでは、SATAを正しく識別できないようで、DMAの転送設定がOFFになってしまう。
早速、ググる。
grub.conf に all-generic-ide を設定するとDMAの転送が有効になるらしい。
HETARE wiki に感謝です。
title CentOS (2.6.18-308.4.1.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-308.4.1.el5
module /vmlinuz-2.6.18-308.4.1.el5xen ro root=LABEL=/ all-generic-ide rhgb quiet
module /initrd-2.6.18-308.4.1.el5xen.img
上記を設定してリブートを行い確認をする。
リブート後の確認内容は下記の通り。
[root@hoge ~]# hdparm /dev/hde /dev/hde: multcount = 16 (on) IO_support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 256 (on) geometry = 65535/255/63, sectors = 1953525168, start = 0 [root@hoge ~]# hdparm -ft /dev/hde /dev/hde: Timing buffered disk reads: 356 MB in 3.00 seconds = 118.58 MB/sec
転送時間が約50倍早くなった。よかった。
0 件のコメント:
コメントを投稿