Linux puede ejecutar hilos simultáneamente en distintos núcleos de CPU y compartir un núcleo entre más hilos ejecutables de los que puede ejecutar a la vez. El planificador toma esas decisiones según la política, la prioridad, la afinidad y la carga de trabajo. Un valor nice es una de las entradas de las políticas normales de tiempo compartido.
Procesos · Lección 8
Niceness
Aprende cómo los valores nice influyen en el peso de planificación de CPU de los procesos normales de Linux.
Interpretar los valores nice
El intervalo convencional de nice va de -20 a 19:
- Un valor menor concede a una tarea mayor peso de planificación respecto a tareas comparables.
- Un valor mayor la hace más «amable» al concederle menos peso relativo.
- El valor predeterminado suele ser
0.
Niceness no reserva un porcentaje de CPU ni garantiza una ejecución inmediata. Su efecto es más visible cuando tareas ejecutables comparables compiten por tiempo de CPU. Las políticas en tiempo real, los cgroups, la afinidad de CPU, las esperas de E/S y otros controles pueden dominar el comportamiento observado.
Bajo la misma política normal de planificación, ¿qué valor nice concede un mayor peso relativo de CPU?
Consultar niceness
En top, la columna NI muestra el valor nice. También puedes solicitarlo a ps:
$ ps -o pid,ni,pri,stat,cmd -p 3245
NI es el valor nice visible para el usuario. Una columna PRI o similar puede ser una prioridad derivada del planificador y su escala varía según la herramienta y la clase de planificación, así que no supongas que ambas columnas son intercambiables.
¿Qué columna de top suele mostrar el valor nice?
Iniciar una orden con `nice`
Usa nice para iniciar una orden nueva con un valor ajustado:
$ nice -n 5 long-computation
Puedes consultar en el manual local el ajuste solicitado y la sintaxis aceptada. Un usuario sin privilegios suele poder hacer una orden más amable aumentando su valor. Concederle un valor nice menor y, por tanto, un peso de planificación más favorable, requiere los privilegios apropiados o límites de recursos configurados.
¿Qué hace nice -n 5 long-computation?
Cambiar un proceso existente con `renice`
Usa renice para un proceso que ya está en ejecución:
$ renice -n 10 -p 3245
Esto solicita el valor nice 10 para el PID 3245. Verifica primero el destino porque los PID pueden reutilizarse y confirma después el valor resultante. Los permisos dependen de la propiedad, los privilegios, los límites de recursos y la política del sistema. Aumentar el valor nice suele estar permitido para un proceso propio; revertir ese cambio puede no estarlo sin privilegios.
¿Qué herramienta cambia el valor nice de un proceso existente?
El laboratorio Gestionar y supervisar procesos de Linux ofrece un entorno controlado para consultar y cambiar valores nice. Compara tareas que consuman CPU y compitan entre sí en vez de esperar una diferencia visible en un sistema inactivo.
Lección completada
Has completado Niceness
Ahora puedes interpretar y ajustar niceness sin tratarlo como una garantía de CPU.
Interpreta los valores nice menores como un mayor peso relativo de planificación.
Consulta
NIpor separado de los campos de prioridad derivados.Usa
niceal iniciar una orden.Usa
renicepara un proceso existente y verificado.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita