Adicionando prioridade à tarefa permanentemente na máquina Linux

3

Como eu aumento a prioridade de uma tarefa no sistema Debian Linux? Após uma pequena pesquisa, descobri que posso aumentar a prioridade para uma tarefa usando o comando nice e, se eu quiser aumentar a prioridade de uma tarefa existente, posso usar o comando renice .

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

  2. Como faço para aumentar o bom valor de uma tarefa da GUI? Se estou fazendo uma cópia usando um terminal, posso aumentar sua prioridade usando o comando nice , mas como aumentar a prioridade de uma tarefa usando a GUI (por exemplo: copiando arquivos do USB para o sistema através da GUI)

  3. É possível definir a prioridade de uma tarefa toda vez que ela é executada? Eu quero definir a maior prioridade para copiar arquivos através da GUI permanentemente.

por Raj 26.08.2013 / 15:13

2 respostas

2

Não há quase nada que você possa fazer para aumentar a velocidade de gravação em uma unidade USB. Embora nice possa alterar a quantidade de CPU alocada para um processo, a maioria das gravações em unidades USB, especialmente flash drives, é limitada pela velocidade com que o dispositivo pode gravar as informações e não pela quantidade de CPU atribuído.

Em outras palavras, se a única coisa que o sistema estava fazendo era gravar em uma unidade flash, você perceberia que levaria o mesmo tempo para ser concluído.

    
por 26.08.2013 / 15:30
2

Valores bons são de -20 a 19. Na página man ( man nice ):

Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Nicenesses range from -20 (most favorable scheduling) to 19 (least favorable).

Por padrão, os processos são iniciados com um bom valor de 0. Por isso, se você quiser que a prioridade de um determinado processo seja alta, defina seu valor legal como -19. Se você quer que seja legal, então seu valor seria 20.

OBSERVAÇÃO: É meio que ao contrário, lembre-se de que seu processo é NÃO sendo legal, daí o número negativo.

Listar bons valores

Você pode usar o comando ps para ver qual é o valor interessante para seus processos. As opções de comando -lu saml listarão todos os processos para o usuário saml . Aqui estamos mostrando apenas os 10 primeiros.

$ ps -lu saml | head -10
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S   500  1609     1  0  80   0 - 13982 poll_s ?        00:00:01 mission-control
0 S   500  1703     1  0  80   0 - 110161 poll_s ?       00:00:01 notification-da
1 S   500  2017     1  0  80   0 - 57922 poll_s ?        00:00:11 gnome-keyring-d
4 S   500  2025  2008  0  80   0 - 27873 wait   ?        00:00:00 bash
1 S   500  2034     1  0  80   0 -  5558 poll_s ?        00:00:00 dbus-launch
1 S   500  2035     1  0  80   0 -  6184 poll_s ?        00:04:06 dbus-daemon
0 S   500  2098  3240  0  80   0 - 28877 wait   pts/9    00:00:05 bash
0 S   500  2121  2025  0  80   0 - 80191 poll_s ?        00:00:03 gnome-session
0 S   500  2126     1  0  80   0 - 36231 poll_s ?        00:00:45 gconfd-2
...

** NOTA: * A coluna NI mostra os valores agradáveis.

Renumerando

Você pode renice de qualquer processo simplesmente conhecendo seu ID de processo. Este comando aumentaria o PID 1234 para 11 (10 + 1):

$ renice +1 1234

Você pode definir explicitamente o nível legal:

$ renice -n 15 1234

Você também pode definir o nível legal para todos os processos de um usuário específico:

$ renice -n 15 -u someuser

GUI

Você pode usar o aplicativo do monitor do sistema, geralmente nos menus, ou o comando gnome-system-monitor , para exibir uma GUI na qual você pode alterar um nível agradável de processos.

    
por 26.08.2013 / 15:29

Tags