Re: Reducing HDD writing affect on whole system.
Am Montag, 17. Oktober 2011 schrieb Sthu Deus:
> Thank You for Your time and answer, Martin:
> >How do you copy the file? Maybe the method you use for copying uses
> >small buffers and thus needlessly generated disk seeks. You might try
> >using dd with bs=1M ;).
>
> I do this w/ mc.
>
> But w/ dd it is the same.
Also with bs=1M?
> >> >Then also include at least the following:
> >> >
> >> >- hdparm -I /dev/sda | egrep -i "(model|transport:|likely
> >> >used|DMA:)" (replace sda by whatever your drive is)
> >> >
> >> Model Number: Hitachi HTS547575A9E384
> >>
> >> Transport: Serial, ATA8-AST, SATA 1.0a, SATA II
> >> Extensions, SATA Rev 2.5, SATA Rev 2.6; Revision: ATA8-AST
> >>
> >> T13 Project D1697 Revision 0b
> >
> >I guess thats an 3.5 inch drive? (Don´t want to bother with looking up
> >the model...). For a laptop drive above numbers could make some sense.
> >Is it a 7200 or 5400 rpm drive? This could have an influence, since
> >seeks could have been involved.
>
> No. 2.5", 5400 RPM - still I do not believe it can be satisfiable
> performance for the drive.
Oh, I do. I do not see more than 30000 blocks in vmstat 1 on IDE driven
laptop drives.
But with recent kernels it should not stall or lag that long.
> >> Capabilities:
> >> LBA, IORDY(can be disabled)
> >> Queue depth: 32
> >> Standby timer values: spec'd by Standard, no device specific
> >>
> >> minimum R/W multiple sector transfer: Max = 16 Current = 16
> >>
> >> Advanced power management level: 128
> >> DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5
> >>
> >> *udma6 Cycle time: min=120ns
> >> recommended=120ns PIO: pio0 pio1 pio2 pio3
> >> pio4 Cycle time: no flow control=120ns IORDY flow
> >>
> >> control=120ns
> >
> >Thats nice, the kernel is using DMA for accessing the drive.
>
> And probably, the highest? What can be a problem...
Could be, but then it would like be a controller or cabling issue. I would
exclude cabling issue as long as its the internal laptop drive.
> >> >- lspci -nn | egrep -i "(ide|sata)"
> >>
> >> SATA controller [0106]: ATI Technologies Inc SB600 Non-Raid-5
> >> SATA [1002:4380]
> >>
> >> IDE interface [0101]: ATI Technologies Inc
> >> SB600 IDE [1002:438c]
> >
> >Now there might be an issue. I don´t know how good this SATA
> >controller works.
>
> OK. Then my problem can be cured by replacing the laptop only, - I do
> not think the drivers will be any better since long time has passed
> from the manufacture date?
I am not sure about that... only a grep through kernel changelogs could
reveal that.
> >> >- grep -i "model name" /proc/cpuinfo
> >>
> >> AMD Turion(tm) 64 X2 Mobile Technology TL-52
> >
> >Or do you happen to do this on a laptop drive?
>
> Do what?
Copying the 6 GB file... but from what I understand so far: yes, you do
this on a laptop drive.
> >Then this might explain this issue as well... laptop drives aren´t the
> >fastest.
>
> Even w/ such huge freezes/delays?!
It is my experience that these have gotten shorter with recent kernels,
but it seems your mileage varies.
> >So my suggestions:
> >
> >- try to reduce the trigger on when the kernel starts to writeback
> >data
>
> How do I do this?
Try lower values for /proc/sys/vm/dirty_background_ratio, its the
percentage of pages to be dirty at which the kernel has to start writing
out data. Or alternatives try with different values for
dirty_background_writes.
Background for this: On machine with lots of RAM and slow drives writes
can pile up that badly, that you get bulky / stalling before when the
kernel then gets intro stress writing out data in order to free memory for
example.
Its worth an attempt...
> >- try to use ionice with the IDLE priority for the copy process
>
> Is it manually or some tunable util.s aare available in the system?
man ionice ;)
Although it is my experience that it does much less of a difference than I
hope for.
> >- or use block i/o controller to limit the bandwith
>
> How do I do this?
- apt-get install linux-doc-3.0.0
- cd /usr/share/doc/linux-doc-3.0.0
- find -name "*blkio*controller*"
Read it, try it. Either with relative I/O weights or even by limiting the
bandwidth to say 5 MB/s or so to have what ionice with IDLE scheduling
class might not give you.
Ciao,
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
Reply to: