jueves, 28 de febrero de 2013

Jugar con las prioridades con renice


Si tu ordenador es potente, no te interesará mucho, pero si andas justito de recursos, seguro que te interesa hacer que una aplicación tenga prioridad sobre otras para que acabe antes. O al contrario, que tenga una prioridad menor para que puedas usar el ordenador mientras se ejecuta esa tarea tan pesada.

Si aumentas la prioridad, la tarea finalizara antes, pero hará que el resto de tareas se ralenticen. Pero también podremos hacer justo lo contrario, eternizar una tarea, pero que el equipo siga siendo usable.


Como usuario común, solo podrás quitar prioridad a tus procesos, pero root si puede aumentar o disminuir las prioridades de todos los procesos y usuarios. Vamos a asumir que puedes ejecutar comandos como root.

Primero vamos a identificar cual es la aplicación que nos consume tantos recursos con un top. Veremos el PID y nos lo apuntaremos en un papelito. Salimos de top con “q”.

Vamos ha hacer que un proceso se ejecute con mayor prioridad.
  • sudo renice -10 pidqueacabamosdever 

Ahora el proceso tiene mas acceso a los recursos de la máquina, con lo que se ejecutara más rápido, pero a costa de ralentizar al resto de procesos. Si queremos que vuelva al estado inicial:
  • sudo renice 0 pidqueacabamosdever

Y si lo que necesitamos es que un proceso tenga poco acceso a los recursos de la máquina, para que no afecte al rendimiento...
  • sudo renice +10 pidqueacabamosdever

El valor que podemos poner a un proceso va de -20 para la máxima prioridad posible hasta +20 para que el proceso se eternice. Se prudente, porque puedes provocar que un proceso no acabe nunca o que la computadora deje de lado todos sus trabajos hasta que acabe el proceso que has priorizado.

Ademas, con el parámetro -u seguido de un userid puedes hacer todos los procesos de un usuario suban o bajen de prioridad. Y algo similar pasara con los trabajos de un grupo si usas el parametro -g groupid.

No hay comentarios:

Publicar un comentario

prekes sodui