Se eu usar algum aplicativo intensivo de IO (como Virtualbox, verificação de dados do Steam ou até mesmo dd
), meu sistema ficará quase sem resposta. Apesar de tudo ter sido iniciado com prioridade normal, eles tornam a área de trabalho muito lenta e atrasam muito a inicialização de outros aplicativos.
Eu sei que posso usar algo como ionice
para alterar a prioridade para ocioso, por exemplo, mas no caso do Virtualbox, que gera muitos processos, fica difícil.
Posso dar algum tipo de dicas para o sistema, portanto, ao iniciar alguns aplicativos específicos, eles são iniciados com a menor prioridade de E / S?
disk
process-priority
Salem
fonte
fonte
Respostas:
Nota: Esta solução funciona apenas com o planejador cfq, conforme explicado aqui . Você deve verificar qual é usado emitindo
e altere -o se necessário.
Se entendi corretamente, você deseja que alguma
ionice
configuração seja aplicada toda vez que você inicia um comando. Você pode fazer assim:O primeiro comando cria um arquivo
VirtualBox
com o texto entre aspas simples como seu conteúdo. Isso deve ter o caminho completo para o programa, porque, se alguém especificarVirtualBox
, pode interpretá-lo como o arquivo que acabamos de criar e criar um "loop".O segundo comando o torna executável e o terceiro move esse novo arquivo em uma pasta que está na frente da pasta bin "system"
/usr/bin
, para que nosso novo arquivo seja executado em vez do original. A parte "$ @" contém todos os argumentos com os quais o comando foi chamado, então eles são encaminhados para o comando VirtualBox real.De acordo com a resposta ("sim") a esta pergunta do superusuário Os processos filhos herdam as prioridades de ionícia de seus pais? Como você verifica a prioridade de E / S de um processo em execução? , deve ser suficiente para
ionice
o processo pai, assim:Na
ionice
página de manual , os seguintes valores da classe de planejamento de E / S estão disponíveis:Um número ou nome de classe pode ser usado.
Além disso, a
-n level
opção é aplicável a classes em tempo real e de melhor esforço, com 0 a 7 como dados válidos (níveis de prioridade).fonte
ionice
o processo pai" parte essencial?ionice
pode trabalharcfq
apenas com agendador! Para obter mais detalhes: unix.stackexchange.com/questions/136226/…Você pode usar o comando 'renice' para priorizar processos:
Também pode ser que sua unidade esteja diminuindo demais; portanto, quando você deseja iniciar um aplicativo como o Virtualbox, ele precisa girar antes que você possa começar a trabalhar (isso pode demorar um pouco).
fonte