a nice
e renice
Os comandos permitem-lhe ajustar a forma como o kernel trata os seus processos ajustando as suas prioridades. Leia este tutorial para aprender como usá-los em sistemas operacionais Linux e semelhantes ao Unix, como macOS.
É tudo uma questão de procedimento
Dentro do seu computador Linux ou semelhante ao Unix, haverá muitos processos em execução antes mesmo de você iniciar o aplicativo que deseja usar. A maioria desses processos são itens vitais do próprio Linux ou processos de suporte para seu ambiente de desktop gráfico.. Há muita coisa acontecendo nos bastidores. De qualquer forma, há tantos recursos do sistema e tempo de CPU para todos. O kernel Linux é o controlador de todos esses processos.
É o kernel que deve escolher quais processos recebem atenção e recursos no momento, e quais têm que esperar. O kernel continuamente manipula processos e prioridades para garantir que o computador funcione da forma mais suave possível e que todos os processos sejam devidamente ativados. Alguns processos recebem tratamento preferencial. Eles são tão importantes para o funcionamento geral do computador que as suas necessidades devem vir em primeiro lugar, Digamos, seu navegador.
Bom valor
Um dos critérios usados para estabelecer como o kernel trata um procedimento é o valor agradável. Cada procedimento tem um bom valor. O valor legal é um número inteiro no intervalo de -19 uma 20. Todos os processos padrão começam com um bom valor de zero.
O truque aqui é que quanto maior o valor legal, melhor será o seu procedimento para o de outros Processos. Em outras palavras, um bom valor alto diz ao kernel que este procedimento fica feliz em esperar. Um número negativo é o oposto de ser legal. Quanto maior o valor negativo agradável, mais egoísta O processo é. Você está tentando obter o máximo de tempo de CPU possível, sem prestar atenção aos outros processos.
Podemos usar o nice
comando para colocar bom valor quando um o processo começa e podemos usar renice
para ajustar bom valor de um processo em execução.
O bom comando
Podemos usar o nice
comando para ajustar o valor legal de um programa quando o lançamos. Isso nos permite aumentar ou diminuir a prioridade que o kernel dá ao procedimento, em conexão com os outros processos.
Suponha que um programador tenha escrito um programa chamado ackermann
. Isso calcula Funções de Ackerman. É um processo intensivo de CPU e memória. O programador pode iniciar o programa com o seguinte comando:
./Ackermann
Podemos usar o top
comando para ver o programa em execução.
principal
Podemos ver os detalhes do ackermann
programa em top
. O bom valor é a figura na "coluna NI". Foi zerado como poderíamos esperar.
Vamos reiniciar e desta vez vamos torná-lo menos exigente. Vamos definir um bom valor de 15 para o ackermann
agende como segue. Escreva bem, um espaço, -15, outro espaço e depois o nome do programa que deseja iniciar. Em nosso exemplo, nosso programador fictício está usando ./ackermann
.
legais -15 ./Ackermann
Tenha cuidado, a “-15” Não é menos quinze. São quinze positivos. o “-” é necessário indicar nice
estamos passando um parâmetro. Para indicar um número negativo, você deve digitar dois caracteres “-“.
Se começarmos agora top
de novo, podemos ver a mudança no comportamento de ackermann
.
principal
Com um bom valor de 15, ackermann
não consome a maior parte do tempo da CPU. GNOME e Rhythmbox estão usando mais. Nós reinamos ackermann
daqui a pouco.
Agora vamos fazer o oposto e dar ackermann
um bom valor negativo. Observe o uso de dois caracteres “-“. Para tornar um aplicativo mais egoísta e menos agradável, você deve usar sudo
. Qualquer pessoa pode tornar seu aplicativo mais agradável, mas apenas superusuários podem tornar um mais egoísta.
sudo legal --10 ./Ackermann
Vamos correr escada acima e ver que diferença isso fez.
principal
Desta vez ackermann
tem um bom valor de -10. Ele está de volta à linha de frente e consome mais tempo de CPU do que antes.
O comando renice
a renice
O comando nos permite ajustar o valor agradável de um procedimento em execução. Não precisamos parar e reiniciá-lo com nice
. Podemos determinar um novo valor rapidamente.
a renice
o comando leva o id do procedimento, o PID, do procedimento como um parâmetro de linha de comando. Podemos extrair o ID do procedimento da coluna “PID” sobre top
, o podemos utilizar ps
e grep
para encontrar para nós, na próxima maneira. Evidentemente, você escreverá seu nome de usuário em vez de dave
e o nome do procedimento no qual você está interessado em vez de ackermann
.
ps -eu dave | aperto ackermann
Agora que temos o PID, podemos usá-lo com renice
. Vamos determinar ackermann
de volta ao comportamento mais agradável com um bom valor de cinco. Para alterar o valor legal de um procedimento em execução, deve usar sudo
. Por favor, note que não há “-” no 5
parâmetro. Você não precisa de um para números positivos e só precisa de um, não dois, para números negativos.
sudo renice -n 5 2339
Recebemos a confirmação de que renice
bom valor mudou. Mostra-nos o valor antigo e o novo valor.
O kernel em geral faz um ótimo trabalho de gerenciamento de prioridades e alocação de tempo de CPU e recursos do sistema. Mas se você tiver que executar uma tarefa longa que consome muita CPU e você não se importar quando terminar, fará com que o seu computador funcione um pouco mais suavemente se você definir um valor mais alto para essa tarefa. Isso vai ser melhor para todos.