Activitats

Monitor de recursos

L’objectiu d’aquesta activitat consisteix a conèixer les possibilitats del monitor de recursos de Windows.

Endegueu el monitor de recursos de Windows i analitzeu quina és la càrrega de recursos de CPU i de memòria que fa servir el mateix procés que inicia el monitor de recursos. Finalment tanqueu aquest procés directament des del mateix monitor.

Es pot obrir el monitor de recursos des de Tauler de control / Sistema i seguretat / Eines administratives / Monitor de rendiment o més ràpid amb la finestra d’execució (Tecla_Windows+R) i cridar l’executable resmon.exe. Així sortirà la finestra següent:

Aquí us podeu fixar en els recursos de memòria i processador que fa servir el mateix monitor, només cal que pareu atenció al procés perfmon.exe.

Per tancar el monitor de recursos podeu aturar aquest procés seleccionant amb el ratolí, obrint el menú contextual (botó dreta) i triant Finalitzar procés.

Monitor i alertes de rendiment

L’objectiu d’aquesta activitat consisteix a familiaritzar-se amb les possibilitats que ofereix el monitor de rendiment de Windows mitjançant un cas pràctic.

Esteu rebent queixes dels usuaris pel que fa a una ralentització del sistema en determinats moments del dia. Creieu que el problema pot ser conseqüència d’una sobresaturació de la memòria i voleu analitzar-ne les raons. El vostre pla per aconseguir-ho és el següent:

  • Establireu una alarma de rendiment quan l’ocupació de la memòria interna sobrepassi el 40% de la seva capacitat.
  • En aquest moment fareu que el sistema enregistri el succés per poder analitzar després en quins moments i amb quina freqüència es produeix la saturació i poder-la comparar amb les incidències reportades pels usuaris.
  • Al mateix temps disparareu automàticament la recopilació de dades adient per efectuar i emmagatzemar un diagnòstic estàndard del sistema. D’aquesta manera podreu analitzar la situació de l’equip quan s’arriba a aquest 40% d’ocupació de memòria.
  • Després d’haver configurat correctament aquest escenari podeu simular la saturació de la memòria endegant diverses aplicacions i programes, i obrint imatges grans o arxius multimèdia. Així comprovareu que es dispara la alarma i podreu accedir al contingut dels registres generats.

  • Primer de tot obriu el monitor de rendiment mitjançant Menú / Tauler de control / Sistema i seguretat / Eines administratives / Monitor de rendiment o bé fent servir la finestra d’execució (Tecla_Windows+R) i cridant l’executable perfmon.exe.
  • Podeu veure en temps real l’evolució de la utilització de memòria. Per fer-ho trieu la secció Eines de supervisió / Monitor de rendiment i afegiu un nou comptador a la gràfica. En aquest cas el comptador de la secció de memòria anomenat % de bytes confirmats en ús. Una vegada seleccionat apareixerà una nova línia a la gràfica indicant l’ocupació de memòria, el qual en aquest exemple correspon a la línia blava:

Ocupació de memòria en temps real

  • Tanmateix el problema de saturació de memòria pot passar en qualsevol moment i no podeu estar pendents del monitoratge en temps real. És per això que es planteja la configuració d’una alarma i un conjunt recopilador de dades específic.
  • Primer configureu el recopilador de les dades que voleu enregistrar quan es dispari l’alarma de saturació de memòria. Aneu a la secció de Conjunts recopiladors de dades / Definits per l’usuari i amb el menú contextual (botó dret del ratolí) seleccioneu Nou / Conjunt recopilador de dades. Doneu un nom a aquest nou conjunt, per exemple, “DadesSistema” i podeu fer servir una plantilla preconfigurada per estalviar-vos feina:

  • Seleccioneu la plantilla Rendiment del sistema i seguidament es podrà configurar el directori on es guardaran les dades enregistrades. Es pot deixar el que surt per defecte i a la finestra següent podreu guardar i tancar l’assistent.
  • Aquest conjunt recopiladors de dades és molt bàsic ja que només enregistra el seguiment del nucli del sistema operatiu i un comptador general de rendiment del sistema. Tot i això podeu afegir-hi qualsevol altre comptador que considereu interessant.

  • Disposeu ara d’un nou conjunt recopilador de dades que podeu endegar manualment quan vulgueu però el que us interessa és que es posi en marxa automàticament quan el comptador de memòria ocupada sobrepassi un determinat llindar. Per això, haureu de configurar una alerta.
  • Les alertes de rendiment no són més que un tipus especial de recopilador de dades. Per tant, seguireu un procés semblant a l’anterior: anomenareu “AlarmaMemoria” al nou recopilador de dades però en lloc de triar un plantilla optareu per la creació manual (avançada) i en la finestra següent podreu seleccionar Alerta de comptador de rendiment:

  • Ara podreu seleccionar el comptador de rendiment que vigilareu (en el vostre cas, el tant per cent de bytes confirmats en ús), i també podreu fixar el llindar d’ocupació que farà saltar l’alarma, que heu fixat en un 40% d’ocupació de memòria.

  • Ja podeu continuar i guardar, i tancar aquesta alarma de rendiment.
  • El pas següent consistirà a configurar quines accions s’efectuaran quan es dispari l’alarma. Per fer-ho seleccionareu el nou conjunt recopilador de dades “AlarmaMemoria” i a la part dreta us sortirà un comptador de tipus alerta probablement anomenat “DataCollector01”. El seleccioneu i al menú contextual obriu les seves propietats on comprovareu el comptador de rendiment que esteu vigilant, el llindar configurat i l’interval de les mostres:

  • A la pestanya Acció de l’alerta podreu marcar “Registrar una entrada al registre d’esdeveniments d’aplicació” perquè enregistri un succés cada vegada que es dispari l’alarma, i també podreu seleccionar el conjunt recopilador de dades “DadesSistema” que havíeu creat abans perquè comenci a enregistrar dades també quan es dispari l’alarma:

  • Ara per posar en marxa l’alarma només cal seleccionar-la amb el ratolí, obrir el menú contextual (botó dret) i triar Iniciar. Veureu que en la icona de l’alarma apareix el símbol de “play” indicant que està en marxa:

  • Ja teniu el vostre escenari de seguiment configurat. Comproveu-ne el funcionament fent disparar l’alarma. La manera més fàcil d’incrementar l’us de la memòria és obrint un programa de dibuix, per exemple el Paint, i configurar una imatge de mida molt gran (per exemple, de 7000×7000 píxels). Evidentment això depèn de la memòria que tingui el vostre sistema. S’han de fer proves per assegurar-se que se supera el llindar del 40% d’ocupació. Podeu comprovar-ho amb el monitor de rendiment en temps real.
  • En el moment que se sobrepassi el llindar i es dispari l’alarma comprovareu que el conjunt recopilador de dades associat comença a enregistrar:

  • Després d’una estona en situació d’alerta ja podeu tornar a l’estat normal, tancant Paint si és el programa que heu fet servir per ocupar memòria i comprovant què ha succeït. En primer lloc comproveu el registre de successos obrint el visor amb la finestra d’execució (tecla_Windows+R) i cridant la consola eventvwr.msc o bé en el menú principal triar Tauler de control / Sistema i seguretat / Eines Administratives / Visor d’esdeveniments.
  • L’arxiu on es guarden els esdeveniments de les alarmes està una mica amagat. Podeu fer ús de l’ajuda de Windows o accedir directament a la documentació tècnica de Microsoft a http://technet.microsoft.com/en-us/library/cc722414.aspx on indica que l’arxiu de registre per a aquests successos es troba a “Applications and Services Logs/Microsoft/Windows/Diagnosis-PLA/Operational”:

  • Si amplieu un d’aquests esdeveniments veureu la informació aportada:

  • Ara comproveu les dades emmagatzemades pel conjunt recopilador de dades quan es produeix l’alarma. Si torneu al monitor de rendiment veureu que a la secció d’informes definits per l’usuari hi ha un informe sobre recopilador DadesSistema per cada una de les alarmes que s’hagin produït. Aquest informe us resumeix tota la informació recollida sobre memòria, processador, xarxa, disc, etc.

Índex d'avaluació de l'experiència

L’objectiu d’aquesta activitat consisteix a verificar la utilitat de l’índex d’avaluació de l’experiència que ofereix el sistema operatiu Windows.

Indiqueu quin és el component del vostre ordinador que té més necessitat de ser actualitzat tot fent servir la informació de l’índex d’avaluació de l’experiència de Windows.

Es pot comprovar l’índex d’avaluació de l’experiència de Windows a Menú / Tauler de control / Sistema i seguretat / Sistema / Consultar l’avaluació de l’experiència en Windows i sortirà la finestra següent:

  • Podeu actualitzar el càlcul de l’índex seleccionant “Tornar a executar l’avaluació
  • Podeu ampliar la informació mitjançant “Veure i imprimir informació detallada del sistema i el seu rendiment

En tot cas els elements amb l’índex d’avaluació més baix són els que tenen més necessitat de ser actualitzats.

Gestió de processos i prioritats en Linux

L’objectiu d’aquesta activitat consisteix a familiaritzar-se amb les ordres de consola de Linux relacionades amb la visualització, control de processos mitjançant comunicació amb senyals i canvi de prioritat.

  1. Endegueu una aplicació a l’entorn gràfic, per exemple, l’editor de text gedit. Aquesta aplicació generarà un procés associat que gestionareu amb ordres de consola.
  2. Obriu una consola de text i obtingueu el PID (Process Identifier) del procés gedit.
  3. Amplieu la informació d’aquest procés amb la seva prioritat, el PID del procés pare (PPID) i l’estat en què es troba.
  4. Assigneu a aquest procés la mínima prioritat possible. Comproveu-la.
  5. Assigneu a aquest procés la màxima prioritat possible. Comproveu-la.
  6. Tanqueu de manera forçada i immediata aquest procés mitjançant l’enviament d’un senyal SIGKILL. Quina diferència hi ha amb l’ordre SIGTERM?

1. Endegueu una aplicació a l’entorn gràfic, per exemple, l’editor de text gedit. Aquesta aplicació generarà un procés associat que gestionareu amb ordres de consola. 2. Obriu una consola de text i obtingueu el PID (Process Identifier) del procés gedit. L’opció “x” de l’ordre ps us mostra tots els processos encara que no estiguin associats a un terminal concret:

$ ps x
  PID TTY      STAT   TIME COMMAND
...
 1429 ?        S<     0:09 gedit
...

3. Amplieu la informació d’aquest procés amb la seva prioritat, el PID del procés pare (PPID) i l’estat en què es troba. L’opció “l” a més us amplia la informació del procés:

$ ps xl
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
...
0  1000  1429     1   20 0  54084 18476 poll_s S<   ?          0:09 gedit
...

4. Assigneu a aquest procés la mínima prioritat possible. Comproveu-la. Com ja teniu el PID del procés gedit podeu canviar la seva prioritat amb renice. Comprovareu que el número de prioritat nice (NI) i la prioritat total (PRI) han pujat 19 unitats que és la mínima prioritat possible (número més alt implica prioritat més baixa!).

$ renice 19 1429
1429: prioritat antiga 0, nova prioritat 19

$ ps xl
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
...
0  1000  1429     1  39  19  54084 18476 poll_s SN   ?          0:09 gedit
...

5. Assigneu a aquest procés la màxima prioritat possible. Comproveu-la. Ara heu de fer servir sudo ja que només els administradors poden pujar la prioritat d’un procés. La prioritat total (PRI) ara és zero, la màxima possible.

$ renice -20 1429
1429: prioritat antiga 19, nova prioritat -20

$ ps xl
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
...
0  1000  1429     1   0 -20  54084 18476 poll_s S<   ?          0:09 gedit
...

6. Tanqueu de manera forçada i immediata aquest procés mitjançant l’enviament d’un senyal SIGKILL. Fareu servir l’ordre kill associada al PID del procés gedit i veureu com l’editor es tanca.

$ kill -SIGKILL 1429
  • Els senyals es poden identificar amb el seu número o el seu nom associat. Podeu veure tots els senyals que podeu enviar als processos amb l’opció “l” de kill:
$ kill -l
 1) SIGHUP   2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX	
  • Podeu també ampliar la informació sobre senyals consultant la secció 7 del manual:
$  man -S 7 signal
  • Quina diferència hi ha amb l’ordre SIGTERM? Per defecte kill envia un senyal SIGTERM de terminació neta i ordenada. Aquest senyal es pot capturar (trappable) i ser ignorat per les aplicacions. El tancament forçat i incondicional es fa amb el senyal SIGKILL, el qual no es pot capturar (no trappable).

Anar a la pàgina anterior:
Supervisió del rendiment del sistema
Anar a la pàgina següent:
Exercicis d'autoavaluació