¿Qué es la prioridad del proceso (amabilidad)
Todos los procesos cuando se generan, se les asigna una prioridad basada en un valor numérico llamado "buen valor “. La prioridad de un proceso indica cuánto tiempo de procesador se asigna a ese proceso. Hay 40 valores de amabilidad, siendo –20 el más alto y +19 el más bajo. La mayoría de los procesos iniciados por el sistema utilizan el valor predeterminado de amabilidad de 0. Si el valor de amabilidad es un número alto, como 19, la tarea se establecerá en la prioridad más baja y la CPU la procesará siempre que tenga la oportunidad. El valor agradable predeterminado es cero. Un proceso hijo hereda la amabilidad de su proceso de llamada al calcular su prioridad.
Viendo la amabilidad del proceso
Puede ver la amabilidad del proceso usando el comando ps, top, etc. Para ver el valor de amabilidad predeterminado, use el siguiente comando:
# nice 0
Para verificar la amabilidad del proceso que se está ejecutando actualmente:
# ps -elf
En este punto, probablemente se esté preguntando cómo puede establecer sus propios niveles de prioridad en los procesos. Para cambiar la prioridad al emitir un nuevo comando, haga
# nice -n [nice value] [command]
Por ejemplo, para ejecutar el comando de actualización de yum con un buen valor de +10, lo que le da menos prioridad sobre otros procesos. Esto asegura que la actualización de yum no cargue más el sistema.
# nice -n 10 yum update
Establecer la prioridad del proceso actualmente en ejecución
Para cambiar la prioridad de un proceso existente, use el renice comando:
# renice [nice value] -p [process id]
Por ejemplo, para cambiar la prioridad del proceso que se está ejecutando actualmente (con pid 390) a 15.
# renice 15 -p 390 390: old priority 0, new priority 15Nota :Solo la raíz puede aplicar buenos valores negativos.
Establecer la amabilidad predeterminada para un proceso en particular
A veces, es útil dar a usuarios específicos una prioridad más baja que a otros para mantener los recursos del sistema asignados en los lugares adecuados, como los servicios principales y otros programas. Puede establecer el valor agradable predeterminado de un usuario o grupo en particular en /etc/security/limits.conf archivo.
– Para los usuarios, utiliza esta sintaxis:
# vi /etc/security/limits.conf [username] [hard|soft] priority [nice value]
– Para grupos, utiliza esta sintaxis:
# vi /etc/security/limits.conf [@groupname] [hard|soft] priority [nice value]
Por ejemplo, puede tener entradas a continuación para usuario y grupo respectivamente.
# vi /etc/security/limits.conf user01 hard priority -10 @group01 hard priority -10
Esto agregaría prioridad a todas las aplicaciones que se ejecutan bajo la prioridad del usuario 'usuario01' o del grupo 'grupo01' establecida en '-10'