De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Sérgio Durigan Júnior
Data de Publicação: 26 de Julho de 2006
Algo muito recorrente quando se usa algum sistema *NIX é alterar a prioridade de processos sendo executados. Isso pode ser feito com o comando "nice" ou "renice".
O Linux (por exemplo) trabalha com números de prioridade que vão de -20 a +20. A regra é simples e inversamente proporcional: quanto menor o número, maior sua prioridade. Ou seja, se o seu processo deve ter prioridade alta, coloque um valor baixo, como por exemplo -10.
Por motivos óbvios de segurança, usuários normais podem alterar a prioridade de seu processo somente de 0 a 20. O root pode alterá-la para qualquer valor aceitável.
A sintaxe do comando é simples:
#> nice -n <PRIORIDADE> COMANDO [ARGUMENTOS]
Sendo que:
<PRIORIDADE>: Refere-se ao número citado acima, de -20 a 20 para o root, de 0 a 20 para usuários normais;
COMANDO: É o comando ao qual a <PRIORIDADE> será aplicada.
[ARGUMENTOS]: São os argumentos do COMANDO, caso sejam necessários.
Após executado, você pode verificar a prioridade de seu comando digitando:
#> top
O campo "NI" refere-se ao número setado pelo "nice". Repare que vários programas do sistema utilizam números diferentes de prioridade. Repare também que, caso você não use o comando "nice" (o que acontece na maioria dos casos), a prioridade assumida por padrão é a "0"; vários programas da listagem do "top" provavelmente devem ter essa prioridade.
Algo muito comum é perceber só depois de um tempo que seu programa requer mais atenção... E então, como alterar a prioridade?? Pra isso existe o utilitário "renice". Sua sintaxe é a seguinte:
#> renice <PRIORIDADE> [[-p] PID...] [[-g] PROCESS_GROUP...] [[-u] USER...]
O campo <PRIORIDADE> já foi explicado acima. Os outros são:
PID: PID do processo que se quer mudar a prioridade
PROCESS_GROUP: Grupo dos processos que se quer mudar a prioridade
USER: Dono dos processos que se quer mudar a prioridade
Por exemplo, o comando:
#> renice -10 -u root
Altera a prioridade de todos os processos cujo dono é o root.
Note que não é necessário passar nenhum parâmetro para indicar o número da prioridade, como era necessário em "nice". Além disso, o padrão do "renice" é reconhecer PID's. Por isso, também não é necessário passar o argumento "-p":
#> renice -10 923
Mudaria a prioridade do processo 923 para -10.
Os comandos "nice" e "renice" mostram-se muito úteis em diversas situações, principalmente naquelas em que o desempenho e a rapidez são essenciais. No entanto, seu uso deve ser ponderado, uma vez que ao mudar a prioridade de um processo para "-20" ou algum valor próximo a isso o sistema torna-se extremamente lento. Recomendo que se realize um teste com algum comando simples antes de se aventurar para algo que possa causar dores de cabeça ;-).
Mais informações podem ser encontradas nas respectivas páginas de manuais dos comandos. Boa sorte!
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários