Nice
Autor
Reili Kaibald A21
Sügis 2014
Süntaks
nice [OPTION] [COMMAND [ARG]...]
Sissejuhatus
Nice on Unixi ja Unixi-laadsete operatsioonisüsteemide (nagu nt Linux) programm. Kuigi Linuxi süsteem on võimeline töös hoidma korraga mitmeid protsesse („töid“), tuleb siiski ette teatud piir töösolevatele protsessidele. Tuuma (kernel) ülesanne Linuxis on aktiivsetele protsessidele otsida protsessorist vaba „aega“.
Vaikimisi on kõik protsessid ühtviisi tähtsad ning neile on eraldatud sama palju protsessori aega. Prioriteetsuse parameeter (nice) ongi mõeldud selleks, et ühtvõi teist protsessi kasutaja poolt kiirendada. Linuxi tuum reserveerib igale protsessile protsessori aega vastavalt määratud prioriteetsuse astmele. 2
Igale töötavale Unixi protsessile on määratud prioriteetsuse aste. Selleks, et muuta protsessi proriteetsuse astet, kasutataksegi nice ja renice käske.
nice – käsk programmi teatud prioriteediga käivitamiseks st käivitab kasutaja poolt ajastatud protsessi. Renice käsklus muudab käimasoleva protsessi prioriteeti.
- Vahemik -20 (kõrgeim prioriteetsus, madalaim nice) kuni 19 (madalaim prioriteetsus, kõrgeim nice)
- Ilma parameetrita antakse vaikeprioriteet 0
- Olemasoleva protsessi nice väärtuse saab kui kasutada käsku:
ps -o nice
Käivitamine
Töötavate protsesside prioriteetsuse kindlakstegemine
Selleks on kaks erinevat moodust:
- ps –al
- top
Mõlemal juhul on prioriteetsuse aste ära toodud veeru NI all.5
Prioriteetsuse määramine uuele protsessile
nice -n [nice value] [command]:
nice -n 10 apt-get upgrade
Prioriteetsuse määramine olemasolevale protsessile
renice [nice value] -p [process id]:
renice 10 -p 21827
Prioriteetsuse määramine ühe kindla kasutaja kõikidele protsessidele
Mõnikord on vaja anda mõnele kindlale kasutajale madalam protsesside proriteetsuse tase kui teisele, et hoida süsteemi ressursse vajalikemateks (põhi)tegevusteks ja teisteks programmideks.
Kindel nice väärtuse saab anda mingile kindlale kasutajele või grupile failis /etc/security/limits.conf file.
/etc/security/limits.conf
See kasutab süntaksit:
[username] [hard|soft] priority [nice value] 6
Näited
Käivitades nice käskluse algatatakse uus protsess (töö) ja antakse talle prioriteetsuse (nice) aste samal ajal. Juba töötava protsessi prioriteetsuse astet saab muuta käsklusega renice.
Järgnev käsk algatab „large-job“ protsessi nice väärtusega kuni 12.
nice -12 large-job
Märka, et miinus märk 12 ees ei tähista miinust. Kui soovida nice väärtust -12, tuleb kirjutada 12 ette lisaks veel üks miinusmärk (--12).
nice --12 large-job
On oluline meelde jätta, et madalam nice väärtus tähistab kõrgemat prioriteetsuse astet. Niisiis -12 omab kõrgemat prioriteetsuse astet kui 12. Tavakasutajad saavad määrata madalamaid prioriteetsuse astmeid (positiivsed nice väärtused). Selleks, et anda kõrgem prioriteetsuse aste, on vaja administraatori õigusi.
Renice käsk on juba töötava töö prioriteetsuse mutmiseks.
renice 17 -p 1134
Antud käsk muudab töötava protsessi, mille id on 1134 töö nice väärtuse 17-ks. Praegusel juhul ei kirjutata miinus-märki nice väärtuse numbri ette. Järgnev käsk muudab protsessi 1134 nice väärtuse -3-ks:
renice -3 -p 1134
Kasutades ps käsklust, on võimalik töötavad protsessid välja printida. Kui lisada täht „l“ (nagu „list“), on võimalik nice väärtust näidata veerus, mille pealkirjaks on „NI“. Näiteks:
ps –al
Ülesehitus
- Kõigepealt lisa prioriteetsus ADJUST’iga
-n, --adjustment=ADJUST -nN, --adjustment=N lisa arv N (vaikeväärtus on 10)
- kuva help ja exit
--help
- väljutab version informatsiooni ja exit
--version
Sarnased käsud
csh | C shelli käsu interpretaator |
ksh | Korn shelli käsu interpretaator |
nohup | instrueerib käsku isegi kui sessioon on katkenud või kasutaja logib välja |
priocntl | Solarise all olevate protsesside parameetrite planeerimine ja kuvamine |
sh | Bourne’i shelli käsu interpretaator |
Keskkonnamuutujad
Nice käsklust võivad mõjutada järgmised keskkonnamuutujad:
- LANG
- LC_ALL
- LC_CTYPE
- LC_MESSAGES
- NLSPATH
- PATH
Kokkuvõte
Nice käsku kasutatakse protsesside prioriteedi seadmisel. Antud programm on mõeldud selleks, et üht või teist protsessi kasutaja poolt kiirendada.
Kasutatud materjalid
- http://linux.about.com/library/cmd/blcmdl1_nice.htm
- http://linux.about.com/od/commands/a/Example-Uses-Of-The-Commands-nice-And-renice.htm
- http://www.thegeekstuff.com/2013/08/nice-renice-command-examples/
- http://pubs.opengroup.org/onlinepubs/9699919799/utilities/nice.html
- http://www.slashroot.in/nice-and-renice-command-usage-examples-process-priority-linux
- http://www.nixtutor.com/linux/changing-priority-on-linux-processes/
- http://linux.about.com/od/commands/a/Example-Uses-Of-The-Commands-nice-And-renice.htm
- http://www.computerhope.com/unix/unice.htm
- http://linux.about.com/library/cmd/blcmdl1_nice.htm
- http://pubs.opengroup.org/onlinepubs/9699919799/utilities/nice.html