Comando nice no Linux (altera prioridade) [Guia Básico]
O comando nice no Linux ajusta o tempo disponível de CPU de um processo para mais ou para menos prioridade.
No inglês a palavra “nice” quer dizer “legal”. Se o ajuste de prioridade para um processo for um número positivo, quer dizer que ele está sendo mais legal com os outros programas diminuindo a sua prioridade.
Se o ajuste for um número negativo, quer dizer que o programa está sendo menos legal, aumentando a sua prioridade de execução e sobrando menos tempo de CPU para os outros programas.
O ajuste de prioridade possível vai do –20 (mais prioridade / menos legal) até o 19 (mais legal, menos prioridade).
Se não for passado nenhum valor de ajuste, o comando nice ajustará a prioridade para +10, diminuindo o tempo de execução do processo.
Por padrão todos os programas iniciam com prioridade zero. Apenas o administrador root pode definir prioridades negativas (aumento de fatia de CPU).
Neste exemplo o comando updatedb tem menos prioridade de execução:
$ nice updatedb &
Neste exemplo o comando folha_pagamento será executado com mais prioridade.
$ nice –n –10 folha_pagamento
Para verificar a prioridade dos processos em execução, o comando ps pode ser usado. A coluna NI mostra a prioridade:
$ ps -eo pid,ni,comm
PID NI COMMAND
1 0 systemd
2 0 kthreadd
4 -20 kworker/0:0H
6 -20 mm_percpu_wq
( ... )
30018 0 sshd
30019 0 bash
Alguns processos do sistema têm naturalmente prioridade máxima (-20).
O comando top também pode ser usado para ver a prioridade dos processos, na coluna NI:
Figura 54 – Top com coluna NI em destaque |
Comando renice no Linux
O comando renice ajusta a prioridade de execução de processos em execução.
Por padrão, o comando renice recebe como parâmetro o PID de um determinado processo. O ajuste de prioridade é um número inteiro do –20 (maior prioridade) até o +19 (executar qualquer coisa antes deste processo).
As opções mais usuais são:
- -p: Recebe um PID para alterar sua prioridade.
- -u: Recebe um nome de usuário para alterar a prioridade de todos os processos deste usuário em execução.
- -g: Recebe um nome de um grupo para alterar a prioridade de todos os processos pertencentes a este grupo.
Neste exemplo, o processo de número PID 987, PID 32 e todos os processos de que os usuários daemon e root são donos vão ter mais prioridade.
# renice -1 987 -u daemon root -p 32
Os usuários comuns somente podem alterar a prioridade dos processos de que eles são donos, e somente para diminuir a prioridade (do -20 até +19). Uma vez que o usuário comum diminui a prioridade, ele não pode normalmente voltar para a prioridade anterior.
Somente o usuário root pode alterar a prioridade de qualquer processo, aumentando ou diminuindo a prioridade.
Neste exemplo o programa com o PID 30018 passou de prioridade 0 para +2:
$ renice +2 30018
30018 (process ID) com prioridade antiga 0, prioridade nova 2
Se um usuário comum tenta aumentar a prioridade, ele não consegue:
$ renice +1 30018
renice: falha ao definir prioridade pra 30018 (process ID): Permission denied
Somente o root consegue aumentar a prioridade. Neste exemplo o comando sudo executa o renice como root:
$ sudo renice 0 30018
30018 (process ID) com prioridade antiga 2, prioridade nova 0
Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.
Gostou? Compartilhe
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix