IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Linux Professional Institute Certificate. LPIC-1

Lpic1 large.gif
Certificat LPIC-1
Examen: 101 (torneu a la resta de temes)
Fitxers: LPI103.5_CrearmonitoritzarMatarProcessos.pdf (LPI103.5_CrearmonitoritzarMatarProcessos.odp) , UD_8_7_admin_processos.pdf
Objectius: http://www.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_101_detailed_objectives
Dipòsit SVN: https://svn.projectes.lafarga.cat/svn/lpi/Materials/Examen_101/103.6
Usuari: anonymous
Paraula de pas: qualsevol paraula de pas

Objectius del tema

103.6. Modificar les prioritats d'execució dels processos
Objective.jpg
  • Objectiu: Els candidats han de ser capaços de gestionar les prioritats d'execució dels processos.
  • Pes: 2
060317 Icon - Theory of Knowledge v01 pdc.jpg

Àrees Clau de Coneixement:

  • Saber la prioritat per defecte d'un procés que s'ha creat.
  • Executar un programa amb una prioritat superior o inferior a la prioritat per defecte.
  • Canviar la prioritat d'un procés en execució.
Icon list.jpg

La següent és una llista parcial de fitxers, termes i utilitats utilitzades:

Text-editor.svg

Apunts: LPI 103.6. Modificar les prioritats d'execució dels processos

Establiment de prioritats per als processos

Tots els processos que s’estan executant en el sistema, tenen assignades unes prioritats (també anomenades valors nice).

Rang de valors nice: entre -20 i +20. 

El valor més alt de prioritat és -20 (màxima prioritat) i el valor més baix és 20 (mínima prioritat).

Si la prioritat no està definida, cada procés s’executarà amb una prioritat per defecte de 0.

Els processos amb més prioritats (Valors negatius de nice), utilitzen més recursos que els altres. Els processos amb prioritat mínima (+20), només s’executaran quan el sistema no executa cap altra tasca.

Els usuaris diferents de root, només poden modificar els processos dels quals són propietaris en un interval de 0 a 20.

Rang de valors nice per a usuaris no root: entre 0 i +20. 

L’usuari root, pot canviar la prioritat de qualsevol procés a qualsevol valor.

ordres

renice

Si un o més processos utilitzen massa recursos del sistema, fent que els altres s’executin massa lentament, podem canviar la seva prioritat en comptes de matar-los. Per tal de fer això podem utilitzar la comanda renice. La seva sintaxi és la següent:

$ renice prioritat [ [-p] pid ... ] [ [-g] pgrp ...] [ [-u] user ... ]

on:

prioritat: és el valor de la prioritat assignada al procés
pid: és l’identificador del procés (si volem actuar sobre més d’un procés, hem d’escriure la opció –p)
pgrp: és l’identificador del grup de proces (hem d’utilitzar la opció –g si n’hi ha més d’un).
user: nom d’usuari del propietari del procés (utilitzem –u si volem actuar sobre més d’un).

Suposem que tenim un procés amb PID 785, el qual realitza uns càlculs matemàtics molt llargs, i mentre volem executar altres programes. Podriem escriure la següent comanda:

$ renice +15 785

Segurament, el temps d’execució del procés s’allargaria, però a canvi podríem executar altres programes mentrestant, sense haver de parar-lo.

Si som administradors d’un sistema, i veiem que un usuari està executant massa processos, els quals utilitzen massa recursos del sistema, podem canviar la prioritat dels processos de l’usuari amb una sola comanda:

# renice +20 –u alumne1

Després d’això, l’usuari alumne1 tindrien la prioritat més baixa possible, i no obstruirien la execució de processos d’altres usuaris.

nice

Ara que hem vist com canviar la prioritat dels processos, pot ser desitjable utilitzar una comanda amb una prioritat definida. La comanda que ho permet és nice.

La comanda nice té com a argument el nom de la comanda que genera el procés sobre el qual volem actuar. Per defecte la comanda nice defineix una prioritat de 10. El rang de prioritat pot anar de -20 (màxima prioritat) fins a 19 (mínima prioritat). La opció –n servei per establir un valor de prioritat.

Per exemple, si volem crear una imatge ISO d’un CD d’instal.lació en el nostre directori personal, hauriem d’escriure una comanda similar a aquesta:

$ dd if=/dev/cdrom of=~/mdk1.iso

Pot ser que en alguns ordinadors antics, el fet d’accedir simultàniament al CD i al disc dur alenteixi molt el sistema fent-lo difícil d’utilitzar per altres programes/processos. Per tal de prevenir aquest fet, i iniciar la comanda amb una prioritat baixa, hauriem de modifcar la comanda anterior de la següent forma:

$ nice –n 19 dd if=/dev/cdrom of=~/mdk1.iso

I ara podriem continuar amb la tasca que estàvem executant sense patir alentiments del sistema.

Per tal de canviar la prioritat d’un procés també podem utiltizar la utilitat top. Per fer això, utilitzem la comanda r dins de la interfície de top per canviar la prioritat dels processos seleccionats.

top

Consulteu top per tal de veure com modificar la prioritat amb la tecla r.

ps

Consulteu ps. La columna NI, mostra la prioritat.