Sé que los valores de bondad se heredan del valor de bondad del proceso principal, pero puedo cambiar globalmente el valor de bondad predeterminado para un usuario en particular (yo mismo).
En este caso, tengo en mente un pequeño servidor de conveniencia, al que se accede exclusivamente a través de ssh. Entonces, creo que podría cambiar mi shell predeterminado de /bin/basha /etc/bash5mientras /etc/bash5este script es:
#!/bin/sh
nice -n 5 /bin/bash
#file privileges: root:root 755
Esto me parece un hack terrible y propenso a errores. Debe haber una mejor manera.
Me interesan principalmente las soluciones generales, que también se aplicarían a un sistema de escritorio / portátil.
Editar: probé el limits.confcambio sugerido , pero no funciona como se esperaba:
root@server# addgroup nice
root@server# adduser myself nice
root@server# echo '@nice soft nice 5' >> /etc/security/limits.conf
Entonces, desde mi máquina cliente, digo
myself@client$ ssh server
myself@server$ sleep 1h &
myself@server$ htop
Ahora, el sleepproceso tiene un valor inicial de amabilidad de0 , pero si cambio el valor F8a 19 y luego trato de reducirlo nuevamente, F7 se detiene en5 .
Edit2: Solución
En lugar de usar el niceelemento limits.conf, debes usarlo priorityaunque sea contra-intuitivo.
@nice soft priority 5

renice -n 5en tu~/.profile?bash5enfoque, te doy esto. Pero todavía se rompe si digossh myserver -- somecommandque no?limits.conf. ¿Para qué es tu salidaps -o pid,nice,cmd?nice.Respuestas:
Puede establecer la prioridad para un usuario en particular en el
/etc/security/limits.confarchivo.De esta manera, puede establecer un límite rígido o suave para cualquier usuario en particular. Por lo tanto, todos los procesos que iniciará este usuario raíz tendrán 5 como el valor de prioridad predeterminado.
Según la página de Wikipedia :
Aquí está la instantánea que muestra que el procedimiento anterior funciona:
Esta es una instantánea del
limits.confarchivo que muestra una línea que finalmente agregué comoDespués de cambiar esto, comencé una sesión ssh usando el comando
ssh root@localhostEsta captura de pantalla muestra las dos últimas líneas, que muestra el buen valor de los últimos dos procesos
-bashysshd: root@pts/3ser 15.Editar
Aquí está la instantánea que muestra que puede aumentar y disminuir la simplicidad de un proceso
Edición 2:
Aquí está la instantánea que muestra que incluso el usuario normal puede cambiar el valor de simpatía.
fuente
A niceness of −20 is the highest priority and 19 or 20 is the lowest priority. Así que primero que tienes que entender que la amabilidad y la prioridad se same..And quiero aclarar que estos sonhard and soft limits, pero no es igualhard priorityysoft niceness..Se ve como se puede establecer una prioridad predeterminada de un usuario en
limits.conf, con una línea como:Ver man limit.conf .
fuente
@nice soft nice 5perosshing en la máquina y la ejecución desleep 1hprogramas que tienen la amabilidad0dehtop. ¿Alguna pista de por qué no se aceptó la configuración? Estoy en Debian Squeeze.@niceen el comentario anterior ... debería ser el del usuario de su máquina Linux.limits.confarchivo?