Eu sei que os valores de gentileza são herdados do valor de gentileza do processo pai, mas posso alterar globalmente o valor de gentileza padrão para um usuário específico (eu mesmo).
Nesse caso, tenho em mente um pequeno servidor de conveniência, que é acessado exclusivamente via ssh
. Então, acho que poderia mudar meu shell padrão de /bin/bash
para /etc/bash5
while /etc/bash5
é este script:
#!/bin/sh
nice -n 5 /bin/bash
#file privileges: root:root 755
Isso me parece um hack terrível e propenso a erros. Deve haver uma maneira melhor.
Estou interessado principalmente em soluções gerais, que também se aplicariam a um sistema de desktop / laptop.
Edit: Tentei a limits.conf
alteração sugerida , mas ela não funciona conforme o esperado:
root@server# addgroup nice
root@server# adduser myself nice
root@server# echo '@nice soft nice 5' >> /etc/security/limits.conf
Então, na minha máquina cliente, eu digo
myself@client$ ssh server
myself@server$ sleep 1h &
myself@server$ htop
Agora, o sleep
processo tem um valor de gentileza inicial de0
, mas se eu alterar o valor F8
para 19 e tentar reduzi-lo novamente com F7
ele para5
.
Edit2: Solução
Em vez de usar o nice
item limits.conf
, você realmente precisa usá- priority
lo, embora seja contra-intuitivo.
@nice soft priority 5
bash5
abordagem, eu dou a você isso. Mas ainda quebra se eu disser ssh myserver -- somecommand
, não?
limits.conf
. Para que serve a sua saída ps -o pid,nice,cmd
?
nice
.
renice -n 5
no seu~/.profile
?