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/bash
a /etc/bash5
mientras /etc/bash5
este 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.conf
cambio 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 sleep
proceso tiene un valor inicial de amabilidad de0
, pero si cambio el valor F8
a 19 y luego trato de reducirlo nuevamente, F7
se detiene en5
.
Edit2: Solución
En lugar de usar el nice
elemento limits.conf
, debes usarlo priority
aunque sea contra-intuitivo.
@nice soft priority 5
bash5
enfoque, te doy esto. Pero todavía se rompe si digo ssh myserver -- somecommand
que no?
limits.conf
. ¿Para qué es tu salida ps -o pid,nice,cmd
?
nice
.
renice -n 5
en tu~/.profile
?