[FUG-BR] Sempre manter processos com baixa prioridade pelo nome

Juano Brozz juanobrozz em gmail.com
Quinta Maio 24 08:02:07 BRT 2012


On 24/05/2012, at 01:10, Danilo Egea <daniloegea em yahoo.com.br> wrote:

> On 5/23/12 7:20 PM, Juano Brozz wrote:
>> Obrigado a todos que responderam.
>> 
>> @Eduardo, foi uma ótima ideia o crontab.
>> 
>> @Otacilio, valeu pelo script.
>> 
>> @Danilo
>> 
>> 
>>> Primeiro: é ao contrário: -15 é prioridade mais alta que 20 (20 é a
>>> menor prioridade, -20 maior prioridade).
>>> 
>> É isso mesmo, obrigado pela info.
>> 
>> 
>>> Segundo: no atalho que vc usa pra iniciar o eclipse, altera ele com o
>>> nice na linha que invoca o programa. Todos os processos filhos terão a
>>> mesma prioridade...
>> 
>> Tentei fazer como você falou e funcionou. Fiz assim:
>> 
>> nice -n +20 chrome
>> 
>> Ai dei um "top" e percebi que o chrome ficou com PRIoridade 20, embora a
>> coluna NICE ficou 0. Aí dei um renice 20 em todos os processos do chrome.
>> Dei um top novamente, e percebi que a coluna PRI ficou com 40!!! e a coluna
>> nice ficou com 20.
>> 
>> Fiquei confuso:
>> 
>> 1- Qual a diferença entre o PRI e o NICE nas colunas do top? Qual o mais
>> importante? Isso é novo pra mim, sempre pensei que houvesse apenas a
>> prioridade.
>> 
>> 2- O comando nice seta apenas a PRIoridade, enquanto que o renice seta
>> apenas o nice? É isso mesmo? Imaginando que a prioridade seja o mais
>> importante, tem como muda-la?
>> 
>> 
>> 
>>> On 5/23/12 1:51 PM, Juano Brozz wrote:
>>>> Olá pessoal,
>>>> 
>>>> Uso o FreeBSD num desktop para desenvolvimento Java. Gostaria que sempre
>>>> que processos com nome "java" fossem carregados, automaticamente ficassem
>>>> com "nice" de 20, pois provavelmente será a IDE eclipse que estará
>>> rodando,
>>>> um run que dou em alguma app que estou desenvolvendo, ou builds, e
>>> gostaria
>>>> de dar muito mais prioridade a processos que tenham o nome "java".
>>> Gostaria
>>>> de fazer o contrário com processos com nome "Chromium", queria dar renice
>>>> -15 para todos os processos chromium, pois sempre mantenho muitas abas do
>>>> Chromium abertas durante o uso do PC, e parece que cada aba é um
>>> processo,
>>>> por isso queria deixar o Chromium com baixa prioridade.
>>>> 
>>>> Não tenho como simplesmente iniciar o Chromium com um nice -15 na frente,
>>>> pois é o próprio chromium que cria os processos para cada aba.
>>>> 
>>>> Me veio à mente uma maneira: Criar um script shell com um loop infinito,
>>> e
>>>> dentro do loop um sleep de 1 minuto, que ficando dando esse comando
>>> [renice
>>>> 20 `pgrep java`] a cada minuto. Eu chamaria esse script no boot do
>>> FreeBSD
>>>> usando o & para ele ficar em background pra sempre.
>>>> 
>>>> Essa é a forma mais elegante, e que consome menos recursos? Como vocês,
>>>> profissionais, fariam isso?
>>>> -------------------------
>>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>>> 
>>> 
>>> --
>>> Danilo Egêa Gondolfo
>>> http://daniloegea.wordpress.com
>>> 
>>> "To understand the computers, we must know what computers understand."
>>> 
>>> -------------------------
>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>> 
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>> 
> O PRI que aparece no top é a prioridade dada ao processo em nível de 
> escalonador. O valor do NICE influencia no valor dessa prioridade (pois 
> faz parte da equação que calcula a prioridade dos processos/threads).
> 

Ok Danilo. Descobri mais uma prioridade nos processos, usando o comando:
rtprio 0 -777
Eu consigo dizer que o processo 777 esta em altíssima prioridade.
Se usar:
Idprio 31 -777 
Consigo dizer que um processo esta em baixissima.

Notei que esses comandos não alteram o nice. Então usei eles em conjunto com o nice. 

Vi no top que o PRI mudou bastante, ficando em -50 para processos java em alta prioridade.

Aí coloquei o script no cron, e a cada 1 minuto os processos Java ficam em realtime, os processos chrome, transmission-gtk (Torrent), conky, ficam em baixissima.

Minha maquina eh um i7 de 4 nucleos (8 pois eh HT). imagino que na pratica os processos que defini com baixissima prioridade só ficariam lentos em momentos de pico, como dar um build que acontece com muitas threads, enquanto que os builds e tarefas normais de desenvolvimento Java no eclipse ficariam sempre muito 

Tenho razão? Devo tomar algum cuidado?

> 
> -- 
> Danilo Egêa Gondolfo
> http://daniloegea.wordpress.com
> 
> "To understand the computers, we must know what computers understand."
> 
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Mais detalhes sobre a lista de discussão freebsd