Asignar prioridad a comandos ejecutados desde el terminal

¿Alguna vez soñaste con ejecutar un comando desde el terminal, limitando la cantidad de recursos asignados a ese comando?

Bueno, la solución presentada aquí puede ayudarte a seguir trabajando normalmente incluso instantes después de ejecutar trabajos que usualmente resultan “muy pesados” para tu hardware y que generalmente “cuelgan” el sistema.

Procesador (CPU)

El comando nice permite modificar la prioridad de un proceso frente al resto dentro del sistema.

El kernel Linux es el encargado de planificar y asignar tiempo de CPU a cada uno de los procesos que corren en el sistema. El rango de asignación de prioridad disponible es de -20 a 20 , siendo -20 la mayor prioridad y 20 la menor.

Gracias a nice podemos asegurarnos que en momentos de usos elevados de CPU los procesos adecuados reciban el mayor % de la misma.

La sintaxis del comando nice es la siguiente:

nice -n COMANDO

Así pues, si quisiéramos ejecutar un proceso con prioridad 10 haríamos lo siguiente:

nice -n10 /usr/bin/convert archivo.gif archivo.jpg

Disco rígido

Similar a nice es ionice, con la diferencia de que éste último limita el acceso al disco rígido.

Un ejemplo de su utilización sería el siguiente:

ionice -c2 -n7 /usr/bin/convert archivo.gif archivo.jpg

-c2 es “mejor esfuerzo”, y -n7 es la menor prioridad dentro del “mejor esfuerzo”. De este modo, este comando tendrá una prioridad menor dentro de la cola de E/S (entrada/salida) que el resto de las tareas en ejecución.

ionice -c3 /usr/bin/convert archivo.gif archivo.jpg

-c3 (no hace falta aclarar un nivel de prioridad) significa “sólo inactivo”. Aquellos trabajos que tengan asignados -c3 sólo se ejecutarán cuando el disco esté inactivo, lo que  significará que la actividad no tendrá impacto alguno en la ejecución del resto de las tareas pero que tardará mucho más en ejecutarse ella misma.

Comparte para difundir

Si te ha gustado nuestro contenido ahora puedes ayudar a difundirlo en las redes sociales de manera sencilla usando los siguientes botones:

Envía
Pinea
Print

3 comentarios

  1.   Daniel Pedroza dijo

    te falto mencionar el comando renice, que sirve para modificar la prioridad de los procesos ya corriendo

  2.   Usemos Linux dijo

    Interesante! Gracias x el aporte!
    Saludos! Pablo.

  3.   vinsuk dijo

    ¿y eso en win como se hace? d8-B

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.