Articulo de referencia

agradable (Unix)

nice es un programa que se encuentra en sistemas operativos Unix y similares a Unix , como Linux . Se corresponde directamente con una llamada al kernel del mismo nombre. se uti...

nicees un programa que se encuentra en sistemas operativos Unix y similares a Unix , como Linux . Se corresponde directamente con una llamada al kernel del mismo nombre. se utiliza para invocar una utilidad o script de shell con una prioridad de CPU específica , lo que le otorga al proceso más o menos tiempo de CPU que a otros procesos. Un valor de niceness de -20 es el niceness más bajo o la prioridad más alta. El niceness predeterminado para los procesos se hereda de su proceso padre y suele ser 0.nice

Los sistemas han divergido en cuanto a cuál es la prioridad más baja. Los sistemas Linux documentan un nivel de prioridad de 19 como la más baja, [ 1 ] los sistemas BSD documentan 20 como la más baja. [ 2 ] En ambos casos, la prioridad "más baja" se documenta como aquella que se ejecuta solo cuando ningún otro proceso lo requiere.

Etimología

El valor Niceness es un número asociado a los procesos en los sistemas *nix, que el planificador de procesos del kernel utiliza junto con otros datos (como la cantidad de E/S realizada por cada proceso) para calcular la "prioridad real" de un proceso , que se utiliza para decidir cuánto tiempo de CPU se le asigna.

El nombre del programa, nice , alude a su función de modificar el valor de "niceness" de un proceso.

El término "amabilidad" en sí mismo se origina en la idea de que un proceso con un valor de amabilidad más alto es más amable con otros procesos en el sistema y con los usuarios en virtud de requerir menos potencia de CPU , liberando tiempo y potencia de procesamiento para los programas más exigentes, que en este caso serían menos amables con el sistema desde la perspectiva del uso de la CPU. [ 3 ]

Uso y efecto

niceResulta útil cuando varios procesos demandan más recursos de los que la CPU puede proporcionar. En este estado, un proceso de mayor prioridad obtendrá una mayor porción del tiempo de CPU que un proceso de menor prioridad. Solo el superusuario (root) puede establecer el valor de niceness a un valor inferior (es decir, una prioridad mayor). En Linux es posible modificarlo /etc/security/limits.confpara permitir que otros usuarios o grupos establezcan valores de nice bajos. [ 4 ]

Si un usuario quisiera comprimir un archivo grande sin ralentizar otros procesos, podría ejecutar lo siguiente:

$ nice -n 19 tar cvzf archive.tgz largefile 

El efecto matemático exacto de establecer un valor de prioridad particular para un proceso depende de los detalles de cómo está diseñado el planificador en esa implementación de Unix. El planificador de un sistema operativo particular también tendrá varias heurísticas incorporadas (por ejemplo, para favorecer los procesos que están principalmente limitados por E/S sobre los procesos limitados por CPU). Como ejemplo simple, cuando dos procesos limitados por CPU idénticos se ejecutan simultáneamente en un sistema Linux de una sola CPU, la parte del tiempo de CPU de cada uno será proporcional a 20 − p , donde p es la prioridad del proceso. Por lo tanto, un proceso, ejecutado con nice +15, recibirá el 25% del tiempo de CPU asignado a un proceso de prioridad normal: (20 − 15)/(20 − 0) = 0,25. [ 5 ] En el planificador BSD 4.x, por otro lado, la proporción en el mismo ejemplo es de aproximadamente diez a uno.

Comandos similares

El programa relacionado renicese puede utilizar para cambiar la prioridad de un proceso que ya se está ejecutando. [ 1 ]

Linux también tiene un ioniceprograma que afecta la planificación de E/S en lugar del tiempo de CPU. [ 6 ]

Véase también

  • matar
  • PD
  • arriba
  • ionice de util-linux (consulte el manual para conocer las prioridades de E/S del almacenamiento en disco)

Referencias

  1. 1 2Manual de comandos generales de Linux de ManKier.comrenice(1)  
  2. "renice(8) - Páginas de manual de NetBSD" . NetBSD . 22 de octubre de 2020. Archivado del original el 18 de abril de 2023. Consultado el 18 de abril de 2023 .
  3. Jerry Peek, Shelley Powers, Tim O'Reilly y Mike Loukides (2002). Unix Power Tools . O'Reilly, pág. 507.
  4. Manual de formatos de archivo de Linux de ManKier.comlimits.conf(5)  
  5. Silberschatz, Abraham; Galvin, Peter B.; Gagne, Greg (2013). Conceptos de sistemas operativos (novena ed.). Hoboken, NJ: Wiley. pág. 294. ISBN   978-1-118-06333-0.
  6. Manual de comandos generales de Linux de ManKier.comionice(1)  
Obtenido de " https://en.wikipedia.org/w/index.php?title=Nice_(Unix)&oldid=1353494557 "