linuksoidų patarimai

Jei stabdo kompas kopijuojant į atmintuką

2010-01-18, kiras

Susidūriau vakar su problemėle. Kopijuojant gigabaitinį failą į USB atmintuką kompiuteris ima smarkiai stabdyti, net pelės žymeklis laikas nuo laiko prišąla prie ekrano. Pasižiūrėjau su top-u, procesorius beveik neapkrautas, jis neturėtu stabdyti. RAM užpildytas pilnai, čia aišku kešuojamas kopijuojamas failas, bet į swap-ą nieko nekrauna, todėl stabdyti taip pat neturėtu.

Priežastis paaiškėja pažiūrėjus į šią eilutę:

Cpu(s): 2.1%us, 1.3%sy, 0.0%ni, 0.3%id, 96.3%wa, 0.0%hi, 0.0%si, 0.0%st

96.3%wa reiškia, kad procesorius nieko daryti negali nes užsiėmęs laukimu kol atsilaisvins kažkoks procesas. Kvaila situacija panaši į valdininko darbą…

Šiandien radau sprendimą. Pasirodo problema linux užduočių planavimo nustatymuose. Jis bando vieną, neskaidomą užduotį paskirstyti tarp dviejų branduolių. O jie vienas kitą blokuoja :( Ką darom? Pirmiausia pažiūrim į pertraukimų sąrašą:

kiras@linuksoidas $ cat /proc/interrupts
      CPU0   CPU1
...
19:   99     29095 IO-APIC-fasteoi ehci_hcd:usb1, ohci_hcd:usb2, ohci_hcd:usb3
...

Susirandam pertraukimų numerius skirtus usb jungtims. Pas mane tik vienas, 19. Tada pririšam juos prie vieno kurio nors branduolio, pavyzdžiui prie nulinio:

echo 1 > /proc/irq/19/smp_affinity

… žiūrim kas gavosi. Man šis veiksmas padėjo. Jei susidūrėt su tokia pačia problema ir priežastis ta pati, padės ir jums.

2 komentarai

 

# mopsiuskas

Man buna taip su kopijavimu is CD/DVD. Nesigilinau, nes nedaznai ka nors taip kopijuoju, bet itariu priezastis panasi. Beje taip tinkasi ant Ubuntu, o su Fedora viskas lyg ir gerai. O su kuria distra cia taip dejosi?

[]

 

# kiras,

Su Arch.

Beje, šie veiksmai bus naudingi tik iki pirmo OS perleidimo. Kur yra įrašyti pradiniai nustatymai neieškojau.

[]