Fórum Root.cz
Hlavní témata => Hardware => Téma založeno: PiF 03. 06. 2012, 14:15:25
-
Ahoj, mám problém s druhým diskem - nově naformátovaný, prázdný, nevytížený.
Čtení sviští cca >60 mega/s, ale zápis jede tak 10 až 15 mega a to bez ohledu na použitý FS (EXT2/EXT3/BTRFS)
Jádro z distribuce: 2.6.32-5-amd64
Debian squeeze
hdparm -tT /dev/sdc
Timing cached reads: 1378 MB in 2.00 seconds = 688.41 MB/sec
Timing buffered disk reads: 226 MB in 3.01 seconds = 75.05 MB/sec
Model=ST3160815A, FwRev=3.AAD, SerialNo=9RA2K6QZ
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=312581808
IORDY=on/off, 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=no WriteCache=enabled
Drive conforms to: Unspecified: ATA/ATAPI-1,2,3,4,5,6,7
* signifies the current active mode
Po restartu:
iostat -d /dev/sdc
Linux 2.6.32-5-amd64 (tygrik) 06/03/2012 _x86_64_ (1 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.46 11.47 0.00 796 0
Systém nic nedělá cpu 1%, paměť je zaplněná z 5%, swap 0.
Při kopírování:
Cpu 15-30%, paměť je zaplněná z 6%, swap 0.
Mám tu dva disky a je to stejné na obou, hw rozhodně vadný není, přitom minimálně ten druhý pod windows zapisoval tak 30-40MB/s a tenhle by měl taky. Mám trochu podezření, jestli to nějak nesouvisí s prvním diskem, který je opravdu mimořádně líný a ten výkon by odpovídal právě jemu, ale kopíruju to na správné místo (ověřeno df).
V logu nic není, všechno se řádně dokončí, jen to zapisuje maximálně jen těch 20MB/s.
Samozřejmě jsem zkoušel z několika zdrojů a zápis je prostě líný.
S dd to je ještě zalostnější:
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 239.168 s, 4.5 MB/s
Ovšem rychlost čtení je naprosto OK!
Pod 50MB/s to neklesne a zátěž CPU nula nula prd.
Proč?
-
"Mám tu dva disky a je to stejné na obou, hw rozhodně vadný není, přitom minimálně ten druhý pod windows zapisoval tak 30-40MB/s a tenhle by měl taky. Mám trochu podezření, jestli to nějak nesouvisí s prvním diskem, který je opravdu mimořádně líný a ten výkon by odpovídal právě jemu, ale kopíruju to na správné místo (ověřeno df)."
Systémový disk je příšerně líný, ty dva testované disky jsou rychlé.
P.
-
dd if=/dev/zero of=test.zeros bs=1024 count=0 seek=$[1024*1024]
Tohle vytvoří 1GiB soubor. Opravdu to má pomalý zápis i pro tohle? Protože jste nenapsal, co zapisujete (kde je zdroj dat), jako nejpravděpodobnější mi přijde, že prostě čtete z toho pomalého disku (příp. /dev/random, což ale může zase brzdit CPU).
-
Aha, měl jsem si přečíst nicky, odpovídal jste sám sobě... pak je to teda asi vyřešeno (i když by se hodilo to explicitně napsat). :)
-
Pomalej systémový disk by snad neměl zdržovat zápisy na další disk ne?
Protože ať na ten celkem rychlý disk zapisuju čím chci z /dev/zero z druhého rychlého disku z ramdisku nebo po Gigové síti, tak rychlost zápisu nepřeleze 20MB/s, ale čtení lítá klidně přes 60MB/s.
To se všechno zapisuje nejprve na systémový disk a pak až na ten druhý?
To, že zapisuju 20MB/s místo 60MB/s je normální?
-
Zkusil jsem jiný řadič, s jiným řadičem to tahá 76 až 80 mega/s bez zatížení CPU, ale zápis jede taky 10 až 16 a zátěž 50%.
Zdá se, že by to mohl být problém s AHCI, jak ho vypnout? ::)
-
Připojil jsem do pecka další disk, tentokrát SATA disk, ale rychlost zápisu je pořád stejná cca ~16MB/s.
Zato čtení na tomhle disku jede přes 80MB/s.
Popravdě řečeno mě to začíná rozčilovat, tenhle widlodisk umí zapisovat rychlostí přes 50MB/s, tak proč na Linuxu jede zápis jen 16MB/s ? :o
Distribuce mi už nějakou dobu vrací připojené IDE disky jako /dev/sdx, a já teď nevím, jestli chyby, které vrací hdparm, s tím nemají něco společného. (Žil jsem v domění, že na nastavování /dev/sdx disků je sdparm.)
Podle HDPARM jsou disky nastavené dobře, ale pokud se je pokusím přenastavit, HDPARM vrací:
HDIO_SET_DMA failed: Inappropriate ioctl for device
...nakonec jsem se propracoval k tomu, že chyba je nejspíš v jádře...
-
no ten seagate je IDE/PATA, ne? hodilo by se napsat, jaky ty disky jsou a jak je mas pripojeny, protoze jestli jsou dva disky na jedne ksande, jeden master a druhej slave, tak se klidne muze stat, ze jeden disk druhej zpomaluje.
a jakej mas radic? ten seagate rika udma4, t.j. 66MB/s; co rikaji ostatni disky?
hdparm -i
no a co jeste tam mas za SATA radic? AHCI vetsinou nedela problemy a jede prepinat v biosu
jinak IDE/PATA z /dev/hdx uz daavno presli na /dev/sdx, hdparm o tom vi a nema s tim problem
jinak doporucuji udelat nasledujici test, ten zapisovaci prepise disk, ale to asi nevadi, vylouci se chyba zarovnani partition table a filesystemu;je treba zapisovat nekolikanasobek RAM, aby se vyloucilo cachovani, v tomto prikladu cte a zapisuje 1GB
cteni:
dd if=/dev/sda of=/dev/null bs=1M iflag=direct count=1024
zapis:
dd if=/dev/zero of=/dev/sda bs=1M oflag=direct count=1024
no a udelej to na vsech diskach, co muzes (protoze se smaze partition table a zacatek disku) v ruznych konfiguracich (jako jen jeden disk samotnej, dva disky na jedne ksande, dva disky na dvou ksandach) a uvidis, co to brzdi
co by se jeste mohlo zkusit s ide/pata diskem:
hdparm -W /dev/sda
hdparm -m /dev/sda
hdparm -u /dev/sda
hdparm -d /dev/sda
hdparm -c /dev/sda
-
jeste me napada, jestli mas fungujici 80-zilovej IDE kabel?
-
Jádro z distribuce: 2.6.32-5-amd64
Debian squeeze
A nějaké ještě starší mrtvola by tam nebyla? Zaktualizuj si jádro na něco udržovaného a pak má smysl něco testovat. ::)