View previous topic :: View next topic |
Author |
Message |
MonsterMord Guru
Joined: 28 Apr 2004 Posts: 395 Location: Italy --> Forli'
|
Posted: Mon May 31, 2004 5:00 pm Post subject: I/O su disco ammazzarisorse [Risolto] |
|
|
Allora, il problema è questo:
quando una applicazione fa largo uso del disco il sistema è pressapoco inutilizzabile.
Ad esempio quando lancio un "emerge sync" o il cron mi fa un "slocate" anche se la cpu è sotto il 2% di carico, il sistema è completamente assorbito nel leggere/scrivere su disco.
Ho provato con un "nice -n 19 /usr/bin/updatedb" ma la situazione è la stessa.
Ho delle latenze incredibili, tipo 1 minuto per aprire la konsole.
Sinceramente non capisco il motivo, il kernel l'ho compilato con lo stesso config che usavo con la debian e non avevo nulla di simile. Il dma è attivato, il preempt pure... idee?
E' normale, o ho dei problemi.
Un po' di dati del sistema:
Code: |
mordmobile root # hdparm -tT /dev/hda
/dev/hda:
Timing buffer-cache reads: 1476 MB in 2.00 seconds = 736.64 MB/sec
Timing buffered disk reads: 76 MB in 3.05 seconds = 24.91 MB/sec
mordmobile root # hdparm -i /dev/hda
/dev/hda:
Model=HITACHI_DK23EA-30, FwRev=00K4A0C1, SerialNo=CF1053
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=58605120
IORDY=yes, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=yes: mode=0x80 (128) WriteCache=enabled
Drive conforms to: ATA/ATAPI-5 T13 1321D revision 3:
* signifies the current active mode
mordmobile root # hdparm -v /dev/hda
/dev/hda:
multcount = 0 (off)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 58140/16/63, sectors = 58605120, start = 0
mordmobile root # zcat /proc/config.gz | grep PRE
CONFIG_PREEMPT=y
mordmobile root # dmesg
...
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 0000:00:1f.1
PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
ICH4: chipset revision 3
ICH4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xbfa8-0xbfaf, BIOS settings: hdc:DMA, hdd:pio
hda: HITACHI_DK23EA-30, ATA DISK drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: TOSHIBA DVD-ROM SD-C2612, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 58605120 sectors (30005 MB) w/2048KiB Cache, CHS=58140/16/63, UDMA(100)
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3 < p5 p6 p7 p8 >
...
|
Ho provato anche con IO_support a 32 bit ma non è cambiato nulla.
e le flag sono tradizionali:
CFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer"
Il sistema è un DELL INSPIRON 8500 |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31446 Location: here
|
Posted: Mon May 31, 2004 5:03 pm Post subject: |
|
|
Fa rumori strani l'hd? hdparm e' settata nel modo giusto questo mi fa pensare a qualche problema hardware. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
MonsterMord Guru
Joined: 28 Apr 2004 Posts: 395 Location: Italy --> Forli'
|
Posted: Mon May 31, 2004 5:08 pm Post subject: |
|
|
fedeliallalinea wrote: | Fa rumori strani l'hd? hdparm e' settata nel modo giusto questo mi fa pensare a qualche problema hardware. |
Non mi sembra, in compenso mi stò toccando... beh tu sai dove... mentre stò facendo backup su CD-ROM
Avete da consigliarmi qualche tool di diagnostica SMART per linux o free per WinXP? |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31446 Location: here
|
|
Back to top |
|
|
MonsterMord Guru
Joined: 28 Apr 2004 Posts: 395 Location: Italy --> Forli'
|
Posted: Tue Jun 01, 2004 12:48 pm Post subject: |
|
|
smartd non riporta nessuna anomalia, ho provato a fare un po' di benchmarck per vedere se è un problema di velocità del disco o è un problema di altro tipo.
Quando il disco è utilizzato da un processo (i più bastardi sono "emerge sync" e "updatedb") non viene dato accesso a quasi niente altro, quindi se una altra applicazione ha bisogno di accedere al disco ho tempi di risposta bibblici. La cpu è sgombra ma se ho una miss in ram addio al multitasking!
Questi valori possono essere nella norma?
Considerate che l'HD è di un portatile, (quindi pochi rpm) su un P4M 2,2GHz.
Code: |
mordmobile root # bonnie
File './Bonnie.6540', size: 104857600
Writing with putc()...done
Rewriting...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
100 22214 99.1 39510 12.0 25167 6.3 10651 45.8 362202 25.1 62481.5 95.3
mordmobile root # tiobench.pl --size 100
Run #1: /usr/sbin/tiotest -t 8 -f 12 -r 500 -b 4096 -d . -TTT
Unit information
================
File size = megabytes
Blk Size = bytes
Rate = megabytes per second
CPU% = percentage of CPU used during the test
Latency = milliseconds
Lat% = percent of requests that took longer than X seconds
CPU Eff = Rate divided by CPU% - throughput per cpu load
Sequential Reads
File Blk Num Avg Maximum Lat% Lat% CPU
Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- -----
2.6.6 100 4096 1 382.53 99.82% 0.007 0.14 0.00000 0.00000 383
2.6.6 100 4096 2 382.13 99.72% 0.011 102.02 0.00000 0.00000 383
2.6.6 100 4096 4 377.27 99.58% 0.015 198.89 0.00000 0.00000 379
2.6.6 100 4096 8 379.12 99.89% 0.007 0.05 0.00000 0.00000 380
Random Reads
File Blk Num Avg Maximum Lat% Lat% CPU
Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- -----
2.6.6 100 4096 1 345.00 99.33% 0.007 0.02 0.00000 0.00000 347
2.6.6 100 4096 2 344.92 99.31% 0.007 0.03 0.00000 0.00000 347
2.6.6 100 4096 4 343.63 98.94% 0.007 0.03 0.00000 0.00000 347
2.6.6 100 4096 8 340.04 97.91% 0.007 0.03 0.00000 0.00000 347
Sequential Writes
File Blk Num Avg Maximum Lat% Lat% CPU
Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- -----
2.6.6 100 4096 1 15.77 8.406% 0.022 85.59 0.00000 0.00000 188
2.6.6 100 4096 2 8.78 4.749% 0.052 125.33 0.00000 0.00000 185
2.6.6 100 4096 4 14.96 7.974% 0.045 311.99 0.00000 0.00000 188
2.6.6 100 4096 8 7.75 4.275% 0.016 1.93 0.00000 0.00000 181
Random Writes
File Blk Num Avg Maximum Lat% Lat% CPU
Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- -----
2.6.6 100 4096 1 2.05 1.100% 0.013 0.05 0.00000 0.00000 186
2.6.6 100 4096 2 1.61 0.856% 0.022 35.45 0.00000 0.00000 188
2.6.6 100 4096 4 2.26 1.200% 0.013 0.12 0.00000 0.00000 188
2.6.6 100 4096 8 1.63 0.842% 0.013 0.11 0.00000 0.00000 193
|
Sono più indicati altri test? Ne ho presi due a caso per l'I/O. |
|
Back to top |
|
|
MonsterMord Guru
Joined: 28 Apr 2004 Posts: 395 Location: Italy --> Forli'
|
Posted: Thu Jun 10, 2004 4:31 pm Post subject: |
|
|
Ho risolto il problema grazie agli amici dell'ErLUG
(http://erlug.linux.it/main/)
ho messo a posto i parametri di hdparm così:
Code: |
cat /etc/conf.d/hdparm
disc0_args="-m16 -c1 -d1 -u1"
cdrom0_args="-d1"
rc-update add hdparm default
|
Ora riesco ad avere il sistema reattivo:
Code: |
hdparm /dev/hda
/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 58140/16/63, sectors = 58605120, start = 0
|
_________________ Gentoo GNU/Linux on DELL Inspiron 8500 |
|
Back to top |
|
|
MonsterMord Guru
Joined: 28 Apr 2004 Posts: 395 Location: Italy --> Forli'
|
Posted: Thu Jun 10, 2004 5:52 pm Post subject: |
|
|
Mi sono connesso perchè mi ero dimenticato di editare l'oggetto del thread con [Risolto] ma qualcuno lo ha fatto per me.
Chi devo ringraziare?
Scusate la svista. _________________ Gentoo GNU/Linux on DELL Inspiron 8500 |
|
Back to top |
|
|
shev Bodhisattva
Joined: 03 Feb 2003 Posts: 4084 Location: Italy
|
Posted: Thu Jun 10, 2004 6:12 pm Post subject: |
|
|
MonsterMord wrote: | Chi devo ringraziare? |
Nessuno, sono io che man mano leggo i topic vedo di sistemare quoting, titoli, tag e errorini vari. Deformazione professionale da moderatore
Quote: | Scusate la svista. |
Figurati, fossero tutti qui i problemi _________________ Se per vivere ti dicono "siediti e stai zitto" tu alzati e muori combattendo |
|
Back to top |
|
|
MonsterMord Guru
Joined: 28 Apr 2004 Posts: 395 Location: Italy --> Forli'
|
Posted: Thu Jun 10, 2004 9:55 pm Post subject: |
|
|
Ah ok...
allora non mi ero bevuto il cervello,
con questo caldo dicevo di iniziare a perdere colpi _________________ Gentoo GNU/Linux on DELL Inspiron 8500 |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Fri Jun 11, 2004 7:59 am Post subject: |
|
|
Ti hanno indicato una guida oppure ti hanno consigliato i parametri? E a cosa corrispondono? _________________ Ciao da me! |
|
Back to top |
|
|
MonsterMord Guru
Joined: 28 Apr 2004 Posts: 395 Location: Italy --> Forli'
|
Posted: Fri Jun 11, 2004 8:31 am Post subject: |
|
|
randomaze wrote: | Ti hanno indicato una guida oppure ti hanno consigliato i parametri? E a cosa corrispondono? |
Mi hanno consigliato di provare a settare il disco con questi parametri:
Code: | hdparm -m16 -c1 -d1 -u1 /dev/hda |
In effetti il problema "sembrerebbre" essere l'opzione "-u1", quella che regola la voce "unmaskirq = 1 (on)"
Quando accendo il portatile l'ho a 0 e fino ad ora l'I/O da disco succhiava tutte le risorse (vedi le info di hdparm del primo post).
Lo strano era che nell'altro mio desktop non avevo questo problema, ed ho scoperto che di default mi mette "unmaskirq = 1 (on)". Le altre voci sono identiche.
Per il resto non ho fatto altro che "gentooizzare" le opzioni in modo che vengano attivate ad ogni boot.
1) settare gli argomenti di hdparm editando il file /etc/conf.d/hdparm
Code: |
vi /etc/conf.d/hdparm
disc0_args="-m16 -c1 -d1 -u1"
cdrom0_args="-d1"
|
2) attivare hdparm ad ogni avvio
Code: | rc-update add hdparm default |
forse si potrebbe mettere nel runlevel di boot, ma in fondo cambia poco.
ATTENZIONE!!!: "man hdparm" riporta possibili danni al file system con l'opzione "-u1" in presenza di hardware obsoleto.
USARE A PROPRIO RISCHIO E PERICOLO!!! _________________ Gentoo GNU/Linux on DELL Inspiron 8500 |
|
Back to top |
|
|
|