io sheduler - что-то многовато io-wait

rnz@rnzws ~ $ uname -a
Linux rnzws 2.6.19-gentoo-r4 #1 SMP Thu Jan 18 18:12:39 MSK 2007 i686 Intel(R) Core(TM)2 CPU          6300  @ 1.86GHz GenuineIntel GNU/Linux
rnz@rnzws ~ $ cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq] 

Делаю например emerge --sync и io-wait сразу же растёт, значительно вплоть до 50%, чувсвуются тормоза.
При этом на другом компе (Athlon-64 X2, ядро тоже) при тех же операция io-wait не более 10% и тормоза вообще не ощущаются.

(используется 32 бит везде)

С чем может быть связанно такое поведение?

--
Gentoo Linux 2006.1 (2.6.19-gentoo-r4)
MB GA-965P-S3/CPU C2D E6300 2,80Ghz/1Gb/GF7600GS 256Mb

С жестким

С жестким диском.
_________________
Вот такие пироги

Видимо дело в

Видимо дело в диске....
У меня такого не наблюдаеться...
покажи что говорит

hdparm -tT /dev/<your disks>

_________________
Gentoo GNU/Linux 2.6.20 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)

rnz@rnzws ~ $ sudo hdparm

rnz@rnzws ~ $ sudo hdparm -tT /dev/sd?

/dev/sda:
 Timing cached reads:   2722 MB in  2.00 seconds = 1361.29 MB/sec
 Timing buffered disk reads:  198 MB in  3.01 seconds =  65.70 MB/sec

/dev/sdb:
 Timing cached reads:   2712 MB in  2.00 seconds = 1356.05 MB/sec
 Timing buffered disk reads:  170 MB in  3.01 seconds =  56.56 MB/sec

/dev/sdc:
 Timing cached reads:   2706 MB in  2.00 seconds = 1353.19 MB/sec
 Timing buffered disk reads:  212 MB in  3.01 seconds =  70.41 MB/sec

/dev/sdd:
 Timing cached reads:   2688 MB in  2.00 seconds = 1343.75 MB/sec
 Timing buffered disk reads:  210 MB in  3.03 seconds =  69.33 MB/sec

/dev/sde:
 Timing cached reads:   2724 MB in  2.00 seconds = 1361.65 MB/sec
 Timing buffered disk reads:  156 MB in  3.05 seconds =  51.22 MB/sec

/dev/sdf:
 Timing cached reads:   2698 MB in  2.00 seconds = 1348.76 MB/sec
 Timing buffered disk reads:  200 MB in  3.01 seconds =  66.43 MB/sec

/dev/sdg:
 Timing cached reads:   2744 MB in  2.00 seconds = 1372.41 MB/sec
 Timing buffered disk reads:  164 MB in  3.01 seconds =  54.48 MB/sec
rnz@rnzws ~ $ 

Винты sda sdc sdd - Maxtor 7V300F0 (MaxLine III)
Винты sdb sde sdg - Seagate ST3160023AS
Винт sdf - Seagate ST3200826AS

io-wait растёт до 50% при тесте на любом накопителе из указаных выше.

На компе с Athlon-64 X2 установлены два Seagate ST3160023AS и один Seagate ST31200..AS - но io-wait так не "гарцует".
_________________
Gentoo 2006.1(~x86) 2.6.20-gentoo-r1 SMP/Beryl
GA-P965-S3/C2D-E6300 2.08 GHz/1Gb/SATA-1x200+2x300+4x160/GF7600GS-256/NEC-4571

А может ты NCQ

А может ты NCQ попробуешь включить если железо держит?
У тя эти винты обьеденены как либо?
_________________
Gentoo GNU/Linux 2.6.20 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)

Так вроде

Так вроде включено (но только не для всех винтов, что странно):

rnz@rnzws ~ $ dmesg | grep NCQ
ata1.00: ATA-7, max UDMA/133, 586112591 sectors: LBA48 NCQ (depth 0/32)
ata2.00: ATA-6, max UDMA/133, 312579695 sectors: LBA48 NCQ (depth 0/32)
ata3.00: ATA-7, max UDMA/133, 586112591 sectors: LBA48 NCQ (depth 0/32)
ata4.00: ATA-7, max UDMA/133, 586114704 sectors: LBA48 NCQ (depth 0/32)
ata7.00: ATA-7, max UDMA/133, 390719855 sectors: LBA48 NCQ (depth 0/32)
rnz@rnzws ~ $ dmesg | grep ata
 BIOS-e820: 000000003fee3000 - 000000003fef0000 (ACPI data)
Memory: 1031192k/1047424k available (2740k kernel code, 15584k reserved, 965k data, 236k init, 129920k highmem)
      .data : 0xc03ad141 - 0xc049e794   ( 965 kB)
libata version 2.00 loaded.
ata_piix 0000:00:1f.2: version 2.00ac7
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
ata1: SATA max UDMA/133 cmd 0xB400 ctl 0xB802 bmdma 0xC400 irq 17
ata2: SATA max UDMA/133 cmd 0xBC00 ctl 0xC002 bmdma 0xC408 irq 17
scsi0 : ata_piix
ata1.00: ATA-7, max UDMA/133, 586112591 sectors: LBA48 NCQ (depth 0/32)
ata1.00: ata1: dev 0 multi count 16
ata1.00: configured for UDMA/133
scsi1 : ata_piix
ata2.00: ATA-6, max UDMA/133, 312579695 sectors: LBA48 NCQ (depth 0/32)
ata2.00: ata2: dev 0 multi count 16
ata2.00: configured for UDMA/133
ata_piix 0000:00:1f.5: MAP [ P0 P2 P1 P3 ]
ata3: SATA max UDMA/133 cmd 0xD000 ctl 0xD402 bmdma 0xE000 irq 17
ata4: SATA max UDMA/133 cmd 0xD800 ctl 0xDC02 bmdma 0xE008 irq 17
scsi2 : ata_piix
ata3.00: ATA-7, max UDMA/133, 586112591 sectors: LBA48 NCQ (depth 0/32)
ata3.00: ata3: dev 0 multi count 16
ata3.00: configured for UDMA/133
scsi3 : ata_piix
ata4.00: ATA-7, max UDMA/133, 586114704 sectors: LBA48 NCQ (depth 0/32)
ata4.00: ata4: dev 0 multi count 16
ata4.00: configured for UDMA/133
sata_promise 0000:05:00.0: version 1.05
ata5: SATA max UDMA/133 cmd 0xF8806200 ctl 0xF8806238 bmdma 0x0 irq 18
ata6: SATA max UDMA/133 cmd 0xF8806280 ctl 0xF88062B8 bmdma 0x0 irq 18
ata7: SATA max UDMA/133 cmd 0xF8806300 ctl 0xF8806338 bmdma 0x0 irq 18
ata8: SATA max UDMA/133 cmd 0xF8806380 ctl 0xF88063B8 bmdma 0x0 irq 18
scsi4 : sata_promise
ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata5.00: ATA-6, max UDMA/133, 312581808 sectors: LBA48 
ata5.00: configured for UDMA/133
scsi5 : sata_promise
ata6: SATA link down (SStatus 0 SControl 300)
scsi6 : sata_promise
ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata7.00: ATA-7, max UDMA/133, 390719855 sectors: LBA48 NCQ (depth 0/32)
ata7.00: configured for UDMA/133
scsi7 : sata_promise
ata8: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata8.00: ATA-6, max UDMA/133, 312579695 sectors: LBA48 
ata8.00: configured for UDMA/133
ata9: PATA max UDMA/100 cmd 0x7000 ctl 0x7402 bmdma 0x8000 irq 16
ata10: PATA max UDMA/100 cmd 0x7800 ctl 0x7C02 bmdma 0x8008 irq 16
scsi8 : pata_jmicron
ata9.00: ATAPI, max UDMA/33
ata9.00: configured for UDMA/33
scsi9 : pata_jmicron
ata1: soft resetting port
ata1.00: configured for UDMA/133
ata1: EH complete
EXT3-fs: mounted filesystem with ordered data mode.
EXT3-fs: mounted filesystem with ordered data mode.
EXT3-fs: mounted filesystem with ordered data mode.

Проапгрейдил ядро до 2.6.20

rnz@rnzws ~ $ uname -a
Linux rnzws 2.6.20-gentoo-r1 #1 SMP Fri Mar 9 09:59:30 MSK 2007 i686 Intel(R) Core(TM)2 CPU          6300  @ 1.86GHz GenuineIntel GNU/Linux

Всё так же
Может это связано с настройками hdparm и sysctl?

rnz@rnzws ~ $ sudo cat /etc/sysctl.conf
[...]
vm.swappiness = 20
vm.vfs_cache_pressure = 1000
rnz@rnzws ~ $ sudo cat /etc/conf.d/hdparm 
cdrom0_args="-d1"
dvd0_args="-d1"
dvd_args="-d1 -X69"
pata_all_args="-d1"
sata_all_args=""
all_args=""

_________________
Gentoo 2006.1(~x86) 2.6.20-gentoo-r1 SMP/Beryl
GA-P965-S3/C2D-E6300 2.80 GHz/1Gb/SATA-1x200+2x300+4x160/GF7600GS-256/NEC-4571

А нет не

А нет не включена... 8( как-то необратил внимания на то, что depth 0/32

rnz@rnzws ~ $ dmesg | grep NCQ
ata1.00: ATA-7, max UDMA/133, 586112591 sectors: LBA48 NCQ (depth 0/32)
ata2.00: ATA-6, max UDMA/133, 312579695 sectors: LBA48 NCQ (depth 0/32)
ata3.00: ATA-7, max UDMA/133, 586112591 sectors: LBA48 NCQ (depth 0/32)
ata4.00: ATA-7, max UDMA/133, 586114704 sectors: LBA48 NCQ (depth 0/32)
ata7.00: ATA-7, max UDMA/133, 390719855 sectors: LBA48 NCQ (depth 0/32)

0 указывает на то, что ICH8 не поддерживает NCQ.
Включил режим AHCI (http://linux-ata.org/driver-status.html) для четырёх винтов, NCQ заработало:

rnz@rnzws ~ $ dmesg | grep NCQ
ata1.00: ATA-7, max UDMA/133, 586112591 sectors: LBA48 NCQ (depth 31/32)
ata2.00: ATA-6, max UDMA/133, 312579695 sectors: LBA48 NCQ (depth 31/32)
ata5.00: ATA-7, max UDMA/133, 586112591 sectors: LBA48 NCQ (depth 31/32)
ata6.00: ATA-7, max UDMA/133, 586114704 sectors: LBA48 NCQ (depth 31/32)
ata9.00: ATA-7, max UDMA/133, 390719855 sectors: LBA48 NCQ (depth 0/32)

Но io-wait по прежнему высокий.

_________________
Gentoo 2006.1(~x86) 2.6.20-gentoo-r1 SMP/Beryl
GA-P965-S3/C2D-E6300 2.80 GHz/1Gb/SATA-1x200+2x300+4x160/GF7600GS-256/NEC-4571

проблема в ядре

это давняя и нерешаемая проблема в ядре

у меня с этим просто беда - перелил всю систему на другой винчестер, потом поменял на другой порт sata - вроде прошло, потом опять появилось - что делать не знаю
при чем это чревато тем что при этих ошибках подвисает чтение файлов с винчестера на 5-10 секунд, иногда если этот интервал очень большой - система думает что винчестера вообще нет и отключается от него, при чем даже перегрузить систему нельзя - пишет что команда reboot не найдена.

очень неприятный глюк - думал железо - а оказалось у всех такое (((

при чем не первый год :'(

на вэб серверах это чревато тем что очередь к апачу разрастается и занимает всю память, система уходит в своп и постепенно умирает, при чем процессор при этом не загружен - то есть нестандартное обстоятельство - процессор не загружен, а компьютер тормозит и виснет.

May 19 21:17:17 mserv kernel: [ 5987.403157] ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
May 19 21:17:17 mserv kernel: [ 5987.403186] ata4.01: BMDMA stat 0x46
May 19 21:17:17 mserv kernel: [ 5987.403209] ata4.01: cmd c8/00:20:2f:e9:e8/00:00:00:00:00/f3 tag 0 dma 16384 in
May 19 21:17:17 mserv kernel: [ 5987.403210] res 51/84:00:4e:e9:e8/84:00:03:00:00/f3 Emask 0x30 (host bus error)
May 19 21:17:17 mserv kernel: [ 5987.403245] ata4.01: status: { DRDY ERR }
May 19 21:17:17 mserv kernel: [ 5987.403262] ata4.01: error: { ICRC ABRT }
May 19 21:17:17 mserv kernel: [ 5987.403286] ata4: soft resetting link
May 19 21:17:17 mserv kernel: [ 5987.605196] ata4.01: configured for UDMA/133
May 19 21:17:17 mserv kernel: [ 5987.605216] ata4: EH complete
May 19 21:17:17 mserv kernel: [ 5987.628483] sd 3:0:1:0: [sda] 312581808 512-byte hardware sectors (160042 MB)
May 19 21:17:17 mserv kernel: [ 5987.628526] sd 3:0:1:0: [sda] Write Protect is off
May 19 21:17:17 mserv kernel: [ 5987.628530] sd 3:0:1:0: [sda] Mode Sense: 00 3a 00 00
May 19 21:17:17 mserv kernel: [ 5987.628585] sd 3:0:1:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

Вот тоже люди мучаются

Нет, у мненя с

Нет, у мненя с reset'ом портов проблем на ICH не было. Были проблемы с Jmicron в этом плане.

И сейчас всё устаканилось, проблем не наблюдаю.

rnz@rnzws ~ $ uname -a
Linux rnzws 2.6.24-gentoo-r4 #1 SMP PREEMPT Thu Apr 24 04:04:42 MSD 2008 i686 Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz GenuineIntel GNU/Linux

Мдя, мне бы ваши

Мдя, мне бы ваши проблемы, у меня все цифры в два раза меньше :)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".