Como aumentar a prioridade de uma tarefa permanentemente na máquina linux?

2

Como aumentar a prioridade de uma tarefa na máquina linux?

O que eu fiz até agora: Após uma pequena pesquisa, descobri que podemos aumentar a prioridade de uma tarefa usando o comando NICE e, se quisermos aumentar a prioridade de uma tarefa existente, também podemos usar o comando RENICE

Mas meu problema:

  1. Em alguns tutoriais, mencionou que os valores NICE variam de 0 a 99, mas em alguns tutoriais afirma que os valores NICE variam de -20 a 19. Qual deles está correto?

  2. Como aumentar o valor NICE para uma tarefa GUI? Se estamos fazendo cópia usando terminal, então eu posso aumentar sua prioridade usando o comando NICE Mas Como aumentar a prioridade de uma tarefa usando GUI (para ex: copiar arquivos do USB para o sistema através da GUI)

  3. É possível definir a prioridade de uma tarefa para o tempo de vida? Eu quero definir a prioridade mais alta para "COPYING FILES IN SYSTEM (usando GUI) permanentemente

Existe alguém que possa me ajudar a definir a maior prioridade para uma tarefa (tarefa feita através da GUI)?

    
por Raj 26.08.2013 / 15:12

2 respostas

4

Acho que você deve perguntar em Unix & amp; Linux mas em qualquer caso, aqueles que dizem que valores NICE para CPU no Linux variam de 0 a 99 são apenas para o SO em tempo real . Os bons valores estão entre -20 e 20, sendo -20 a prioridade mais alta, em normal (aquela que a maioria dos usuários usa) * NIX kernels para CPU. Qual é para a maioria dos casos.

Além disso, a cópia de arquivos não precisaria de muita CPU (dependendo dos sistemas de arquivos), mas da prioridade de E / S. A partir do kernel 2.6.26, os valores de ionização são determinados pelos valores bons da CPU usando as seguintes fórmulas:

io_priority = (cpu_nice + 20) / 5

Além disso, todo o processo (a menos que o código-fonte modificado) comece com a classe de prioridade "Melhor esforço" que usa as fórmulas acima. Mas, em qualquer caso, você provavelmente não precisa definir isso como padrão.

Uma maneira de definir a prioridade de E / S para iniciar um processo é:

ionice -c2 -n6 SOME_COMMAND

O processo que gostaria de definir / obter sua própria classe de agendamento de E / S e prioridade deve usar as funções ioprio_set e ioprio_get.

Também uma boa advertência de Linux veneno :

  

Leia atentamente a descrição do tempo real. Processos agradáveis de E / S em tempo real irão privar o sistema completamente até que sejam feitos usando o disco. Você pode facilmente tornar seu sistema não responsivo por longos períodos de tempo.

     

Além disso, o niceness de IO só terá efeito se você estiver usando o planejador CFQ io. Se você tiver uma linha elevator = (as, deadline, noop) no seu menu.lst, o IO niceness não terá efeito.

Fontes:

por Braiam 26.08.2013 / 15:47
3

Você está procurando: Auto Nice Daemon

  

O daemon auto nice é ativado em determinados intervalos e   renova trabalhos de acordo com sua prioridade e uso da CPU. Empregos pertencentes a   raiz são deixados sozinhos. Os empregos nunca são aumentados em sua prioridade.
  Os intervalos de renice podem ser ajustados, assim como o nível legal padrão   e os intervalos de ativação. Um banco de dados prioritário   tuplas de usuário / grupo / trabalho junto com seus valores de renice para três CPUs   intervalos de tempo de uso. Níveis agradáveis negativos são interpretados como sinais para   ser enviado para um processo, acionado pelo uso da CPU; Desta forma, o Netscapes   ir berserk pode ser morto automaticamente. A estratégia para pesquisar   o banco de dados de prioridades pode ser configurado. E também fornece   arquivos de configuração de toda a rede com seções específicas do host, bem   como suporte a curinga / regexp para comandos no banco de dados de prioridades.   Homepage: link

Você pode instalá-lo facilmente no seu Ubuntu:

# aptitude install and

E modifique o arquivo de configuração:

# vi /etc/and.priorities

Você diz:

  

É possível definir a prioridade de uma tarefa para o tempo de vida? Eu   deseja definir a prioridade mais alta para "COPYING FILES IN SYSTEM (usando GUI)   permanentemente

Depende do tipo de interface gráfica que você prefere. Obtenha o nome do seu gerenciador de arquivos e adicione-o à configuração "/etc/and.priorities".

Infelizmente, o Auto Nice Daemon pode alterar o prio no intervalo -20: 19.

É o mesmo que "man nice" dar:

  

Os valores de gentileza variam de -20 (mais favorável ao processo) a 19   (menos favorável ao processo).

Para obter -99 e rt (tempo real), você deve ler os próximos dois itens:

# man chrt

# man ionice
    
por innocent-world 27.08.2013 / 17:46