¿Qué es nice?
En Linux, la prioridad de un proceso se expresa como 'Niceness' (valor nice). El comando `nice` ejecuta programas estableciendo este valor.
Comprendiendo el valor Niceness
Cuanto **mayor** es el valor, más 'nice' (amable) es el proceso. Es decir, cede recursos a otros procesos.
- Rango: -20 (prioridad más alta/egoísta) ~ 19 (prioridad más baja/cedente)
- Valor predeterminado: 0 (prioridad estándar)
- Uso de valores negativos: Aumentar la prioridad (valores negativos) requiere permisos de root.
Opciones principales (Shell)
Se utiliza combinando el valor de prioridad (`-n`) con el comando a ejecutar.
1. Ejecución con prioridad especificada
2. Ayuda
Comando generado:
Combina los comandos.
Descripción:
`nice` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de escenarios de uso
Patrones utilizados en la práctica para gestionar la carga del sistema.
Ejecutar una copia de seguridad con baja prioridad (ceder recursos)
nice -n 10 tar -czf backup.tar.gz /var/www
Al realizar una tarea de compresión grande (`tar`), se ejecuta con un valor nice de 10 (cediendo) para evitar que otros servicios importantes, como los servidores web, se ralenticen.
Ejecutar con muy baja prioridad
nice -n 19 ./heavy_computation.sh
Se le asigna el valor máximo de 19 para que solo use la CPU cuando el sistema esté inactivo.
Ejecutar con alta prioridad (requiere permisos de root)
sudo nice -n -10 ./critical_service
Asigna una alta prioridad (-10) a un proceso importante para que monopolice la CPU. Establecer valores negativos requiere `sudo`.
Precaución con la notación
nice -n -5 command
El guion de la opción y el guion del número negativo pueden parecer `-10`. `nice -10` es una notación antigua para `nice -n 10` (positivo 10), por lo que es recomendable especificar `-n` para evitar confusiones.
Instalación
nice es un comando fundamental incluido en 'GNU Coreutils' y está preinstalado en casi todas las distribuciones de Linux.
Verificación de la instalación
Se puede usar directamente sin necesidad de instalación adicional.
Consejos y advertencias
nice vs renice
Conozca claramente las diferencias entre ambos comandos.
- nice: Asigna prioridad **al iniciar un nuevo comando**.
- renice: Cambia la prioridad de un proceso (PID) **ya en ejecución**.
- Cómo verificar: Puede verificar el valor nice de los procesos actuales en la columna `NI` de `top` o `htop`.