103.6 - Modificar prioridades de procesos: Comandos clave

Valores nice - Referencia rapida

NicePrioridadQuien puede asignarlo
-20Maxima (mas CPU)Solo root
-10AltaSolo root
0Por defectoCualquier usuario
10BajaCualquier usuario
19Minima (menos CPU)Cualquier usuario

nice - Iniciar proceso con prioridad modificada

ComandoDescripcionEjemplo
nice comandoEjecuta con nice 10 (incremento por defecto)nice tar czf backup.tar.gz /home
nice -n VALOR comandoEjecuta con nice VALORnice -n 15 make -j4
nice -n -VALOR comandoEjecuta con nice negativo (solo root)sudo nice -n -10 ./critico
nice -n 19 comandoEjecuta con minima prioridadnice -n 19 ./pesado.sh
nice -n -20 comandoEjecuta con maxima prioridad (solo root)sudo nice -n -20 ./urgente

renice - Cambiar prioridad de proceso en ejecucion

ComandoDescripcionEjemplo
renice -n VALOR -p PIDCambiar nice de un procesorenice -n 10 -p 1234
renice VALOR PIDForma abreviadarenice 10 1234
renice -n VALOR -u usuarioCambiar nice de todos los procesos de un usuariorenice -n 5 -u sandra
renice -n VALOR -g grupoCambiar nice de todos los procesos de un gruporenice -n 5 -g developers
renice -n -VALOR -p PIDSubir prioridad (solo root)sudo renice -n -10 -p 1234

Verificar prioridades con ps

ComandoDescripcionEjemplo
ps -eo pid,ni,pri,commVer PID, nice, prioridad y comandops -eo pid,ni,pri,comm
ps -eo pid,user,ni,pri,%cpu,commIncluir usuario y CPUps -eo pid,user,ni,pri,%cpu,comm
ps -eo pid,ni,comm --sort=-niOrdenar por nice descendenteps -eo pid,ni,comm --sort=-ni
ps -eo pid,ni,comm --sort=niOrdenar por nice ascendenteps -eo pid,ni,comm --sort=ni
ps -o pid,ni,pri,comm -p PIDVer nice de un PID concretops -o pid,ni,pri,comm -p 1234

Prioridades en top

Tecla/ColumnaDescripcion
Columna PRPrioridad del kernel (PR = 20 + NI)
Columna NIValor nice del proceso
Tecla rCambiar nice de un proceso (pide PID y nuevo valor)

Reglas de permisos - Resumen

AccionUsuario normalRoot
Iniciar con nice 0 a 19SiSi
Iniciar con nice -20 a -1NoSi
Subir nice de su proceso (bajar prioridad)SiSi
Bajar nice de su proceso (subir prioridad)NoSi
Cambiar nice de procesos ajenosNoSi
Revertir nice propio (ej: de 10 a 0)NoSi

Formula de conversion

PR (priority) = 20 + NI (nice)

Ejemplos:
  NI = -20  -->  PR = 0   (maxima prioridad)
  NI =   0  -->  PR = 20  (prioridad por defecto)
  NI =  19  -->  PR = 39  (minima prioridad)