obci

Wszystko związane z jądrem systemowym, sterownikami, sprzętem itp.
zehos
Posty: 13
Rejestracja: 17 kwietnia 2007, 20:53

obciąŻenie procesora w czasie operacji IO

Post autor: zehos »

Witam,
mam problem z dużym obciążeniem w czasie odczytu/zapisu na dysku. Duużo bawiłem się hdparm i na pewno mam ustawione odpowiednie DMA i inne bajerki. Zreszŧą udało mi sie troche nawet w czasie tej zabawy przyśpieszyć dysk, niestety ciągle zużycie procka na maksa. SMART(czy jakąś tak) też nie wywala żadnych błędów...chyba ;) .
Jest to na tyle uciążliwe, że nawet przy oglądaniu filmów mplayerem zużycie jest tak duże, że czasami film się zacina.
Mój komp to athlon xp 2000+, dysk WD caviar, 8MB cache.

Aktualnie posiadam PCLinuxOS (oparte na mandriva) oraz Debiana. Oba systemy zachowują się tak samo. Na windowsie obciążenie procesora przy identycznych czynnościach nie przekracza kilkunastu procent.

Druga sprawa, to inne wartości obciążenia procesoraw w programie TOP i np. htop, czy ksysguard, albo w karambie. Top zwykle pokazuje ledwo kilka procent, podczas, gdy te inne pokazuą 100% i rzeczywiście czuje się bardzo wyraźne zmulanie kompa.

Może to wina złej komfiguracji kernela, czy cos?

Dla pewności jeszcze:

Kod: Zaznacz cały

hdparm /dev/hda

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  1 (32-bit)    // 3 (synchro) nic nie zmienia
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)       // przy tej wartości jest największa wydajność, standardowo było chyba 16
 geometry     = 16383/255/63, sectors = 234441648, start = 0

Kod: Zaznacz cały

hdparm -i /dev/hda

/dev/hda:

 Model=WDC WD1200JB-00DUA3, FwRev=75.13B75, SerialNo=WD-WMACM2156077
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=74
 BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16
 CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=234441648
 IORDY=on/off, tPIO={min:120,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 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6

 * signifies the current active mode

Kod: Zaznacz cały

hdparm -tT /dev/hda

/dev/hda:
 Timing cached reads:   1068 MB in  2.00 seconds = 533.80 MB/sec
 Timing buffered disk reads:  124 MB in  3.00 seconds =  41.31 MB/sec

leonid
Posty: 86
Rejestracja: 21 stycznia 2007, 18:34
Lokalizacja: Stolyca

Post autor: leonid »

Skompiluj kernel z obsługą dma - powinno pomóc.
ODPOWIEDZ