Za leta sveho spravcovani Linuxu jsem se dozvedel o ionice az ted. Jeden se
porad uci. Jde o nastroj, kterym muzete usmernit procesy, ktere vytezuji
pocitac svym pristupem k disku.
man ionice(1)
Pro kazdy proces je mozne planovaci rict o prerazeni do tzv. tridy Idle
(pozadavky na disk vyrizeny jen kdyz zadny jiny proces uz po urcitou dobu
nezadal o disk), Best Effort (implicitni trida rozdelena na 8 priorit,
cyklicke vyrizeni pozadavku procesu o stejnych prioritach), Real Time
(nejvyssi trida, okamzity pristup k disku, rozdeleno na 8 priorit, pouzijte
jen kdyz vite, co delate -- muze zablokovat cely system!).
Lesku tomu ubira to, uz to vlastne pouzivam a ani o tom nevim: System procesu,
ktery nema definovanou vlastni ionice, uz automaticky priradi Best Effort
prioritu X, kde X se vypocita jako (20+N)/5, kde N je nice level. N je
implicitne 0, ale zvykem mnoha z nas uz dlouho je aplikovat nice na vykonove
narocne procesy, kde nezalezi na dobe behu. Takze pouzitim nice -n19 vlastne
provedeme ionice -c2 -n7 .
Uzitecne je, ze potomci procesu dedi jeho nastaveni ionice. To znamena, ze na
zacatek shelloveho skriptu je mozne napsat
ionice -c3 -p$$
a vsechny dalsi prikazy budou mit tridu Idle. Na tuto tridu pozor, na
vytizenych serverech muze zpusobit, ze takovy proces bude bezet neunosne
dlouho.
T.
|