A tárgybeli probléma kifejtve:
Tegyük fel hogy adatokat mentek HDD1 -> HDD2 irányba. Ez a folyamat akkora lassulást okoz a rendszerben, hogy felfoghatatlan. Bármilyen alkalmazás reakcióideje jobbik esetben ~2s körüli, rosszabb esetben van hogy közel percig kell várni arra, hogy mondjuk egy ablak felugorjon a tálcáról, vagy kattintok egy menüpontra Firefox-ban (openbox alatt).
SMART tiszta, kábelek tesztelve többször is, több gépben, táp rendben.
A CPU terhelés mindeközben <20% (2x), a 2GB memória 1/4-e van kihasználva nem cache-nek, egyedül az I/O pörög.
A 2.6.36-os (amd64, gentoo-sources) kernel sima Desktop kernelként van konfigurálva, semmi hókusz-pókusz, CFQ-val.
-ck kernelt próbáltam, annyira nem jó hogy random időnként egy-egy kernel pánikot elviseljek.
Nem hiszem hogy helyi probléma, mert több gépen is reprodukálni tudom a dolgot, most Gentoo alatt tűnt fel de tesztelve Ubuntu 10.04-en is.
Bármi ötlet, hogy lehetne javítani a reakcióidőn?
Köszönöm.
--
Megoldás lehet:
I/O ütemező: Deadline (sirenter)
Preemption model: Voluntary Kernel Preemption
Timer frequency: 1000Hz (Pingo_villany)
sysctl -w vm.vfs_cache_pressure=10 (sirenter, LGee)
- 4169 megtekintés
Hozzászólások
Esetleg egy BFQ patch a jelenlegi kerneledre?
Vagy egy kis nice emelés?
Vagy mondjuk swappiness 0-ra állítása.
------------------
My Open-Source Android "Projects"
- A hozzászóláshoz be kell jelentkezni
- A legutóbbi BFQ patch 2.6.30-as kernelhez van, nem biztos hogy jó ötlet lenne.
- Konstans javulást szeretnék elérni. Ideiglenesen perce nice-olhatom azt amit akarok, de ez nem mindig megoldás.
- A memória teljesen üres, hozzá se szagol a swap-hoz, pedig rendelkezésére áll 1GB.
- A hozzászóláshoz be kell jelentkezni
A "hivatalos" honlapon van 2.6.36-hoz BFQ patch: http://algo.ing.unimo.it/people/paolo/disk_sched/sources.php
------------------
My Open-Source Android "Projects"
- A hozzászóláshoz be kell jelentkezni
Úgy néz ki én a régi oldalt találtam meg. Ha lesz egy kis időm patch-elgetni, mindenképp jelzek hogy mi újság.
- A hozzászóláshoz be kell jelentkezni
kernel config CFQ->AS, bar azt lehet vissza kellene patchelni, es probalj meg egy NONPREEMPT kernelt, mondjuk 100Hz-n 1kHz helyett.
___
info
- A hozzászóláshoz be kell jelentkezni
A vissza patch-elést mint utolsó mentsvárként megjegyzem, nem tűnik hosszútávú megoldásnak.
Az alapértelmezett érték 100Hz, fordul a kernel NONPREEMPT-el, bár erős a gyanúm, hogy nem fog sokat hozni, az eredményekkel jelentkezek.
- A hozzászóláshoz be kell jelentkezni
A gyanúm sajnos beigazolódott, egyáltalán nem reagál jobban nonpreempt-tel.
- A hozzászóláshoz be kell jelentkezni
hat, hasznalj bsd-t :)
makeworld + portupgrade + youtube + ff + az altalatok annyira ahitott hd video siman megy egyszerre, bw az -j5-tel
___
info
- A hozzászóláshoz be kell jelentkezni
root-ként:
..# sysctl -w vm.vfs_cache_pressure=0
..# echo deadline > /sys/block/sda/queue/scheduler
sda értelemszerűen helyettesítendő; egyébként AS már rég nincs a kernelben
ha müxik:
/etc/sysctl.conf:
vm.vfs_cache_pressure = 0
/etc/conf.d/local.start:
echo deadline > /sys/block/sda/queue/scheduler
- A hozzászóláshoz be kell jelentkezni
vm.vfs_cache_pressure = 0 beállítás mondhatni látványosan javított a felálláson.
A deadline-t nem eröltetném ha nem muszáj, mert csúnyán fragmentálódik vele a lemez.
- A hozzászóláshoz be kell jelentkezni
"A deadline-t nem eröltetném ha nem muszáj, mert csúnyán fragmentálódik vele a lemez."
5+ éve használom LAMP, postfix+dovecot(maildir)(150kliens), squid(80kliens), samba(70kliens) alatt, nem tapasztaltam ezt a problémát;
bővebb infót tudnál adni?
- A hozzászóláshoz be kell jelentkezni
Konkrét összehasonlításom nincs, de érdekes módon volt már deadline-nal 30%+ fragmentáltságú lemezhez is szerencsém.
Bár elképzelhető hogy csak valami szerencsétlen folyamatok okán sikerült ezt elérni, mert közben van egy másik gép, ami szintén deadline-nal fut, és 0.1%-nyi fregmentációt számol az fsck.
- A hozzászóláshoz be kell jelentkezni
Konkrétan milyen eszközt jelölsz "HDD1" és "HDD2" néven?
- A hozzászóláshoz be kell jelentkezni
HDD1 = IDE eszköz (hda)
HDD2 = SATA eszköz (sda)
- A hozzászóláshoz be kell jelentkezni
ionice
- A hozzászóláshoz be kell jelentkezni
Szerintem ez a cfq működéséből adódik.
Ott miután kielégít egy io kérést, nem kezdi el kiszolgálni rögtön a soron következő folyamat igényeit, hanem egy rövid ideig vár arra, hogy lesz-e még újabb kérése az épp kiszolgált folyamatnak. Ha sok cuccot másolsz, akkor természetesen lesz. Én amikor ezzel kísérleteztem, azt tapasztaltam, hogy könnyebb beállítani egy deadline ütemezőt, mint a cfq-t felaparaméterezni. Ez hozott egy kis javulást, de nyilván a rendszernek vannak korlátai.
Végezz el egy tesztet úgy, hogy átállítod deadline-ra. Link : http://www.cyberciti.biz/faq/linux-change-io-scheduler-for-harddisk/
Lemezenként külön be kell állítani. Illetve lehet paraméterezni, ha van kedved kísérletezni vele :
http://www.serverwatch.com/tutorials/article.php/3819446/Selecting-and-…
http://www.gossamer-threads.com/lists/drbd/users/13515
Szerk : gyakorlatban ahogy Sirenter írta.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a linkeket, megpróbálkozom a CFQ felparaméterezésével, bár már a vm.vfs_cache_pressure=0 megoldás látványos előrelépés.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Nem mai csirke a cucc...
"For the record, this is even reproducible with Linus's master." :)
- A hozzászóláshoz be kell jelentkezni
Tegyük fel hogy adatokat mentek HDD1 -> HDD2 irányba. Ez a folyamat akkora lassulást okoz a rendszerben, hogy felfoghatatlan.
hat legutoljara ilyet akkor lattam mikor valami dma opcio hianyzott (hdparm, ilyesmi, vagy nem megfelelo" kernelmodul). manapsag mar csak ninsc ebbol problema.
illetve: ha sok kicsi file-t masolgatsz, akkor igen, az szopo lehet. de ha nagy (seektime * seqreadwrite me'retet definite meghalado) fileokat masolgatsz, akkor me'g egy egyszerubb schd mellett sem kene ilyesmit tapasztalni.
- A hozzászóláshoz be kell jelentkezni
Volt ilyen gondom nekem is Ubuntu 9.04 környékén, de már magától elmúlt (10.04-en legalábbis).
- A hozzászóláshoz be kell jelentkezni
Köszönöm mindenkinek a segítséget.
Az eddigi legjobb kombinációnak ez tűnik:
I/O ütemező: Deadline
Preemption model: Voluntary Kernel Preemption (Desktop)
Timer frequency: 1000Hz
sysctl -w vm.vfs_cache_pressure=0
Közel sem tökéletes megoldás, de az eddigieknél jobb. Folyamatosan tudok másolni, zenét hallgatni és böngészni is.
- A hozzászóláshoz be kell jelentkezni
"Közel sem tökéletes megoldás, ..."
amit még mindenképp érdemes megnézni:
..# hdparm -M /dev/[hs]da
gyárilag a legtöbb disk-en 0 vagy 128, érdemes a 254-t kipróbálni; ha nem javul a transfer, vagy túl hangos a fejkattogás, simán visszaállítod 128-ra (a beállítást boot-olás után is megtartja)
- A hozzászóláshoz be kell jelentkezni
Nem támogatott funkció. Visszafele fejlődünk? Mintha a régi Maxtorok támogatták volna.
- A hozzászóláshoz be kell jelentkezni
ha nem topsecret, feltennéd a kimeneteket:
# hdparm -I /dev/hda
# hdparm -I /dev/sda
# smartctl -x /dev/hda
# smartctl -x /dev/hda
lehet hogy kell: # smartctl -s on /dev/...
ha nincs fenn: # emerge -qv smartmontools
- A hozzászóláshoz be kell jelentkezni
Smartctl kimenete: http://hup.pastebin.com/cdzhm4Qy
hdparm kimenete: http://hup.pastebin.com/0Fu2eK3U
Érdekes, hogy a jellemzők között pedig írja az akusztikus hangolás támogatását, de állítani már nem engedi.
- A hozzászóláshoz be kell jelentkezni
ez csak az sda, de
- smartctl: normálisnak látszik
- hdparm: egy probát megérne a -M254
"...de állítani már nem engedi" bocs, ha sértő a kérdés: root-ként próbálod, ill. mi a hibaüzenet?
# hdparm -M254 /dev/sda
a hda adatait is jó lenne látni
- A hozzászóláshoz be kell jelentkezni
# hdparm -M254 /dev/sda
/dev/sda:
setting acoustic management to 254
acoustic = not supported
--
A jelenséget nem csak ennél a forrás lemeznél produkálja, hanem minden nagyobb I/O műveletnél jelentkezik. Az eredeti forrás már nem áll rendelkezésre, de másik igen.
- A hozzászóláshoz be kell jelentkezni
Milyen winyo van benne?
(hdparm -i-vel megmondja, -I kicsit reszletesebb)
--
"A Mikulás azért olyan vidám, mert tudja, hol laknak a rossz kislányok." - George Carlin
- A hozzászóláshoz be kell jelentkezni
Seagate ST31000340SV, nem egy kapkodós idegbeteg.
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
Csak ovatosan a vm.vfs_cache_pressure 0-ra allitasaval.
http://linux.derkeiler.com/Mailing-Lists/Kernel/2009-07/msg06679.html
- A hozzászóláshoz be kell jelentkezni
Hmm...
- A hozzászóláshoz be kell jelentkezni
ok, nálad a pont; tehát:
# sysctl -w vm.vfs_cache_pressure=1
- A hozzászóláshoz be kell jelentkezni
Kicsit tesztelgetni kellene a dolgot, hiszen kis tulzassal 'kit erdekel', ha a firefoxot lovi ki az OOM killer ahhoz kepest, ha szerveren cache-eli halalra az inode-okat a Linux...
Nem tudom, a gyakorlatban mekkora a valoszinusege annak, hogy a 0 ertek gondot okozna.
- A hozzászóláshoz be kell jelentkezni
sok éves, sok gépes üzemeltetési tapasztalat:
a terhelés intenzitásától függően 1nap..1hét alatt beáll a SLAB a RAM 10%-ára, aztán a következő boot-olásig ott is marad;
természetesen nem vitatom, hogy van ahol ez probléma; az én tapasztalatom viszont az, hogy hiába smartarray+bbwc, hiába tonnaszám a RAM, a legtutibb vasat is megöli a default vm.vfs_cache_pressure=100; természetesen még1x elnézést az =0 miatt, a vm.drop_caches=3 sem szabadítja fel a SReclaimable-t és természetesen maximálisan egyetértek, tesztelni kell
a topiknyitóban is jó lenne javítani az =0-t mondjuk =10-re
- A hozzászóláshoz be kell jelentkezni
Átírva, átállítva, most tesztelek.
- A hozzászóláshoz be kell jelentkezni
3 napos tesztelés közben nem jött ki semmi mellékhatása a 10-es értéknek, szerintem maradhat.
- A hozzászóláshoz be kell jelentkezni
...
Timer frequency: 1000Hz (Pingo_villany)
...
Ugye ez csak kernel újrafordítással változtatható?
- A hozzászóláshoz be kell jelentkezni
Persze.
zgrep HZ /proc/config.gz
- A hozzászóláshoz be kell jelentkezni
szarabb rendszereknel igen, tobbinel meg boot time
___
info
- A hozzászóláshoz be kell jelentkezni