Zápis na disk se loudá, čtení je OK

PiF

Zápis na disk se loudá, čtení je OK
« kdy: 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č?
« Poslední změna: 05. 06. 2012, 16:16:50 od Petr Krčmář »


PiF

Re:Zápis na disk se loudá, čtení je OK.
« Odpověď #1 kdy: 03. 06. 2012, 14:17:24 »
"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.

Zopper

  • *****
  • 922
    • Zobrazit profil
Re:Zápis na disk se loudá, čtení je OK.
« Odpověď #2 kdy: 03. 06. 2012, 15:27:22 »
Kód: [Vybrat]
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).

Zopper

  • *****
  • 922
    • Zobrazit profil
Re:Zápis na disk se loudá, čtení je OK.
« Odpověď #3 kdy: 03. 06. 2012, 15:29:29 »
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). :)

PiF

Re:Zápis na disk se loudá, čtení je OK.
« Odpověď #4 kdy: 03. 06. 2012, 17:09:24 »
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í?


PiF

Re:Zápis na disk se loudá, čtení je OK.
« Odpověď #5 kdy: 04. 06. 2012, 00:52:00 »
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? ::)

PiF

Re:Zápis na disk se loudá, čtení je OK.
« Odpověď #6 kdy: 04. 06. 2012, 01:40:13 »
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...

trubicoid2

Re:Zápis na disk se loudá, čtení je OK.
« Odpověď #7 kdy: 04. 06. 2012, 11:08:42 »
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?
Kód: [Vybrat]
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:
Kód: [Vybrat]
dd if=/dev/sda of=/dev/null bs=1M iflag=direct count=1024zapis:
Kód: [Vybrat]
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:
Kód: [Vybrat]
hdparm -W /dev/sda
hdparm -m /dev/sda
hdparm -u /dev/sda
hdparm -d /dev/sda
hdparm -c /dev/sda

trubicoid2

Re:Zápis na disk se loudá, čtení je OK.
« Odpověď #8 kdy: 04. 06. 2012, 11:56:50 »
jeste me napada, jestli mas fungujici 80-zilovej IDE kabel?

Lol Phirae

Re:Zápis na disk se loudá, čtení je OK.
« Odpověď #9 kdy: 04. 06. 2012, 13:05:29 »
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.  ::)