miércoles, 25 de abril de 2012

Prioridad en los procesos con “nice” y “renice”


Utilizamos las ordenes:

  • nice: para ejecutar un proceso con una prioridad inicial. Su valor por defector es 10.
  • renice: para alterar la prioridad de un proceso ya iniciado.

Las prioridades pueden variar entre -20 y 19, siendo la prioridad negativa la mas alta.

Nota: un usuario no puede iniciar o alterar la prioridad de un proceso a prioridad negativa a menos que sea tenga permisos o sea root.

Sintaxis:

nice -n [prioridad negativa/positiva] orden
renice -n [prioridad negativa/positiva] orden


A continuacion se vera un ejemplo donde ejecutamos varias veces un proceso xclock con distintas prioridades:

- Inicia proceso con prioridad 0
johnny@debianJG:~$ xclock &
[3] 2853

- Inicia proceso con prioridad 10
johnny@debianJG:~$ nice xclock &
[4] 2856

- Inicia proceso con prioridad 5
johnny@debianJG:~$ nice -n 5 xclock &
[5] 2857

- Intenta iniciar proceso con prioridad negativa -5 y nos da un error por no tener permisos, deja prioridad 0.
johnny@debianJG:~$ nice -n -5 xclock &
[6] 2858
johnny@debianJG:~$ nice: cannot set niceness: Permission denied
johnny@debianJG:~$ top
top - 22:29:58 up 1:35, 2 users, load average: 0.11, 0.06, 0.01
Tasks: 157 total, 2 running, 155 sleeping, 0 stopped, 0 zombie
Cpu(s): 5.3%us, 1.2%sy, 0.0%ni, 91.7%id, 1.7%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 2853196k total, 1023116k used, 1830080k free, 264020k buffers
Swap: 1951736k total, 0k used, 1951736k free, 401024k cached

PID PPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2867 2450 johnny 20 0 2456 1116 832 R 4 0.0 0:00.04 top
2858 2450 johnny 20 0 7968 3012 2420 S 0 0.1 0:00.04 xclock
2857 2450 johnny 25 5 7968 3012 2420 S 0 0.1 0:00.04 xclock
2856 2450 johnny 30 10 7968 3012 2420 S 0 0.1 0:00.05 xclock
2853 2450 johnny 20 0 7968 3016 2420 S 0 0.1 0:00.06 xclock


Cambiamos la prioridad del proceso 2853a prioridad negativa -10, usando root.

root@debianJG:~# renice -n -10 2853
2853: old priority 0, new priority -10
johnny@debianJG:~$ top
top - 22:40:15 up 1:46, 2 users, load average: 0.10, 0.06, 0.01
Tasks: 159 total, 2 running, 157 sleeping, 0 stopped, 0 zombie
Cpu(s): 28.5%us, 0.7%sy, 0.0%ni, 70.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2853196k total, 1026396k used, 1826800k free, 264536k buffers
Swap: 1951736k total, 0k used, 1951736k free, 401356k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2858 johnny 20 0 7968 3012 2420 S 0 0.1 0:00.04 xclock
2857 johnny 25 5 7968 3012 2420 S 0 0.1 0:00.05 xclock
2856 johnny 30 10 7968 3012 2420 S 0 0.1 0:00.06 xclock
2853 johnny 10 -10 7968 3016 2420 S 0 0.1 0:00.06 xclock

No hay comentarios:

Publicar un comentario