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
renice -n 5
no seu~/.profile
?bash5
abordagem, eu dou a você isso. Mas ainda quebra se eu disserssh myserver -- somecommand
, não?limits.conf
. Para que serve a sua saídaps -o pid,nice,cmd
?nice
.Respostas:
Você pode definir a prioridade para um usuário específico no
/etc/security/limits.conf
arquivo.Dessa forma, você pode definir um limite rígido ou flexível para qualquer usuário em particular. Portanto, todos os processos que esse usuário raiz iniciará terão 5 como o valor de prioridade padrão.
De acordo com a página da Wikipedia :
Aqui está o instantâneo que mostra o procedimento acima funciona:
Este é um instantâneo do
limits.conf
arquivo que mostra uma linha que eu adicionei finalmente comoDepois de mudar isso, iniciei uma sessão ssh usando o comando
ssh root@localhost
Essa captura de tela mostra as duas últimas linhas, que mostram o bom valor dos dois últimos processos
-bash
e ossshd: root@pts/3
15.Editar
Aqui está o instantâneo que mostra que você pode aumentar e diminuir a gentileza de um processo
Edição 2:
Aqui está o snapshort que mostra que mesmo o usuário normal pode alterar o valor da gentileza.
fonte
A niceness of −20 is the highest priority and 19 or 20 is the lowest priority
,. Então, primeiro u tem que entender que amabilidade e prioridade são same..And Quero esclarecer que estes sãohard and soft limits
, mas não é comohard priority
esoft niceness
..Ele se parece com você pode definir uma prioridade padrão para um usuário em
limits.conf
, com uma linha como:Veja man limits.conf .
fonte
@nice soft nice 5
, masssh
ing na máquina e executarsleep 1h
programas como tendo niceness0
nohtop
. Alguma pista de por que a configuração não foi aceita? Estou no debian squeeze.@nice
no comentário acima .. deve ser o do usuário da sua máquina linux.limits.conf
arquivo?