Existe alguma maneira de definir a prioridade de um processo no Mac OS X?

43

Eu tenho um processo em segundo plano executado em 100% da CPU no Mac OS X. Todos os outros aplicativos são muito lentos por causa disso.

Gostaria de definir esse processo para não levar mais de 50% para que meus aplicativos sejam executados melhor. Como posso fazer isso?

    
por Daniel Cukier 17.09.2009 / 20:03

5 respostas

44

Na linha de comando ( Terminal.app ou qualquer outro) use nice e renice , como em outros unixes.

Use nice ao iniciar um processo:

nice -n <priority> <command> <arguments to command>

A prioridade padrão é zero, valores positivos são "mais agradáveis" (isto é, menor prioridade) e valores negativos são "menos bons" (prioridade mais alta). Parece que o Mac OS é executado de +10 a -10.

Use renice para alterar a prioridade de um processo já em execução (na página renice man em 10.5):

renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]  
renice -n increment [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

A parte em que você está interessado aqui é o pid bit. Esse é o ID do processo para o trabalho e você pode encontrá-lo usando ps -u <your username> e procurando o nome do processo, mas eu prefiro top -o neste caso, porque o processo no qual você está interessado estará próximo do topo.

Nota: Sem privilégios de superusuário, você nunca pode aumentar a prioridade de um processo. Para usuários normais, nice e renice são ruas de sentido único. E pequenas mudanças na prioridade podem ter grandes efeitos no tempo de execução. Então, vá com calma até entender.

    
por 17.09.2009 / 20:06
14

Você pode usar o comando:

renice -n # PID

Onde:

  • # é um número que deve ser maior que 0 (caso contrário você moverá seu processo para uma prioridade mais alta)
  • PID é o ID do processo que você pode ver digitando top no aplicativo terminal (utilities / terminal.app)

Se for um processo do sistema ou outro processo de usuário, você deve digitar:

sudo renice -n 10 PID

Ele pedirá sua senha (se você for sudoer). Quanto ao número, eu recomendaria 10 ou 19 (prioridade ainda menor).

Observe que isso alterará a prioridade e não o uso da CPU. Se você não estiver executando outros processos que exijam CPU ou se tiver mais de uma CPU no seu Mac (Core 2 Quad Core), o processo ainda poderá usar 100% da CPU.

    
por 14.06.2011 / 11:49
4

Existem também vários utilitários GUI, como o BeNicer gratuito e o Assistente de processos (meu favorito anterior ), e a versão de $ 1.99 do Freezer , que é o meu novo favorito. Todos eles funcionam em aplicativos em execução.

    
por 20.09.2009 / 10:13
3
renice 20 $(pgrep ImageOptim)

Ou use o nome do seu programa em vez de ImageOptim

    
por 24.11.2015 / 03:52
0
  • Se o seu processo for um aplicativo ou um aplicativo auxiliar do aplicativo em vez de um processo do sistema e você não quiser fazer nice ou renice em cada inicialização do sistema, é possível dar uma chance a AppPolice . É open source e grátis. Você pode baixá-lo aqui .

  • Outra alternativa seria uma interface gráfica do gerenciador de tarefas de linha de comando muito agradável chamada htop . Você pode ver todos os processos e ajustar seus valores nice em F7 e F8 atalhos. (Por favor, note que valores negativos de nice são mais priorizados e opostos para valores positivos)

Para instalá-lo:

  • Instale o homebrew se ainda não o tiver.
  • Execute este comando brew install htop no terminal
  • Agora você pode fazer htop para ver e gerenciar processos no Terminal ou sudo htop para cobrir todo o sistema.
por 29.09.2018 / 04:45