Nice

From ICO wiki
Revision as of 15:34, 15 December 2014 by Rkaibald (talk | contribs)
Jump to navigationJump to search

Autor

Reili Kaibald A21

Sügis 2014

Süntaks

nice [OPTION] [COMMAND [ARG]...]  

1

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

3

  • Olemasoleva protsessi nice väärtuse saab kui kasutada käsku:
ps -o nice

4

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

7

Ülesehitus

  • Kõigepealt lisa prioriteetsus ADJUST’iga
-n, --adjustment=ADJUST
-nN, --adjustment=N	lisa arv N (vaikeväärtus on 10) 

8

  • kuva help ja exit
--help

  • väljutab version informatsiooni ja exit
--version

9


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

10

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

  1. http://linux.about.com/library/cmd/blcmdl1_nice.htm
  2. http://linux.about.com/od/commands/a/Example-Uses-Of-The-Commands-nice-And-renice.htm
  3. http://www.thegeekstuff.com/2013/08/nice-renice-command-examples/
  4. http://pubs.opengroup.org/onlinepubs/9699919799/utilities/nice.html
  5. http://www.slashroot.in/nice-and-renice-command-usage-examples-process-priority-linux
  6. http://www.nixtutor.com/linux/changing-priority-on-linux-processes/
  7. http://linux.about.com/od/commands/a/Example-Uses-Of-The-Commands-nice-And-renice.htm
  8. http://www.computerhope.com/unix/unice.htm
  9. http://linux.about.com/library/cmd/blcmdl1_nice.htm
  10. http://pubs.opengroup.org/onlinepubs/9699919799/utilities/nice.html