lunes, 24 de agosto de 2015

LINUX-CENTOS-LAB-cambiar prioridad de procesos con renice.

Es util poder cambiar la prioridad de los procesos que se están ejecutando en el servidor. Sobretodo cuando un proceso está consumiendo muchos recursos y es necesario liberar CPU y RAM del server para que no se produzca un freeze del server.
Tener en cuenta los siguientes 3 hechos:

nice / renice son comandos utilizados para observar / modificar la prioridad de ejecución de u proceso dentro del server. Estos comandos no detienen los procesos.
Todos los procesos se ejecutan por default cono prioridad "0"
La prioridad de los valores va desde -20 a 19. Siendo -20 el más importante y 19 el menos importante.

Observar la siguiente experiencia con el comando dd.

[root@centos-testing02 ~]# dd if=/dev/urandom of=/dev/null &
[1] 4206
[root@centos-testing02 ~]# 


Al ejecutar el comando sin especificar su prioridad, se le asigna la prioridad 0, como un valor neutral.

[root@centos-testing02 ~]# ps -fea -o pid,uid,ni,command 
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
  PID   UID  NI COMMAND
 3918     0   0 -bash LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-8 LC_MONETARY=es_CL.UTF-8 LC_N
 4211     0   0  \_ ps -fea -o pid,uid,ni,command LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-8
 3506     0   0 -bash LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-8 LC_MONETARY=es_CL.UTF-8 LC_N
 4206     0   0  \_ dd if=/dev/urandom of=/dev/null LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-
 1646     0   0 -bash HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr
 1575     0   0 /sbin/mingetty /dev/tty6 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1571     0   0 /sbin/mingetty /dev/tty5 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1569     0   0 /sbin/mingetty /dev/tty4 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1567     0   0 /sbin/mingetty /dev/tty3 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1565     0   0 /sbin/mingetty /dev/tty2 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
[root@centos-testing02 ~]# 


[root@centos-testing02 ~]# pstree -aAp 4206
dd,4206 if=/dev/urandom of=/dev/null
[root@centos-testing02 ~]# 

se aplica un alza al nivel de prorioridad.
[root@centos-testing02 ~]# renice -n -19 -p 4206
4206: old priority 0, new priority -19
[root@centos-testing02 ~]# ps -fea -o pid,uid,ni,command 
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
  PID   UID  NI COMMAND
 3918     0   0 -bash LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-8 LC_MONETARY=es_CL.UTF-8 LC_N
 4214     0   0  \_ ps -fea -o pid,uid,ni,command LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-8
 3506     0   0 -bash LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-8 LC_MONETARY=es_CL.UTF-8 LC_N
 4206     0 -19  \_ dd if=/dev/urandom of=/dev/null LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-
 1646     0   0 -bash HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr
 1575     0   0 /sbin/mingetty /dev/tty6 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1571     0   0 /sbin/mingetty /dev/tty5 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1569     0   0 /sbin/mingetty /dev/tty4 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1567     0   0 /sbin/mingetty /dev/tty3 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1565     0   0 /sbin/mingetty /dev/tty2 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
[root@centos-testing02 ~]# 

Se aplica una baja al nivel de prioridad, a nivel neutral.

  [root@centos-testing02 ~]# renice -n 0 -p 4206
4206: old priority 19, new priority 0
[root@centos-testing02 ~]# ps -fea -o pid,uid,ni,command 
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
  PID   UID  NI COMMAND
 3918     0   0 -bash LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-8 LC_MONETARY=es_CL.UTF-8 LC_N
 4218     0   0  \_ ps -fea -o pid,uid,ni,command LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-8
 3506     0   0 -bash LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-8 LC_MONETARY=es_CL.UTF-8 LC_N
 4206     0   0  \_ dd if=/dev/urandom of=/dev/null LC_PAPER=es_CL.UTF-8 LC_ADDRESS=es_CL.UTF-
 1646     0   0 -bash HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr
 1575     0   0 /sbin/mingetty /dev/tty6 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1571     0   0 /sbin/mingetty /dev/tty5 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1569     0   0 /sbin/mingetty /dev/tty4 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1567     0   0 /sbin/mingetty /dev/tty3 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
 1565     0   0 /sbin/mingetty /dev/tty2 TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/b
[root@centos-testing02 ~]# 

No hay comentarios:

Publicar un comentario