Quais processos devem ser ionizados para um desktop responsivo?

4

Meu objetivo é inteligentemente e permanentemente ionice os processos em meu desktop para a capacidade de resposta sob carga pesada de disco e rede . Permanentemente, quero dizer que quaisquer alterações feitas no sistema persistirão durante as reinicializações. Eu quero eliminar situações em que não posso mover uma janela porque a largura de banda do disco está saturada por um processo que não está de qualquer forma servindo a minha GUI.

Existem centenas de processos em execução no meu sistema. Quais poderiam ser executadas com a classe ociosa e quais com a classe em tempo real?

É uma boa ideia definir os processos X e gnome-shell para a classe em tempo real?

Que tal configurar cupsd, avahi-daemon, gnome-screensaver, dilúvio, ntpd e backintime para a classe ociosa?

Aqui está uma lista dos processos atualmente em execução no meu sistema .

    
por Richard Ayotte 06.02.2012 / 13:28

1 resposta

0

Acho que você terá melhores resultados para ajustar sua VM (memória virtual) e tendências de write-back (swappiness) do que seguir a rota de ionização, embora seja necessário.

Você pode usar dpkg-divert para mover permanentemente os binários interessados como / usr / bin / firefox - > /usr/bin/firefox.orig. Então você está livre para criar um script de shell em seu lugar assim:

#!/bin/sh
# straight from the ionice manpage
ionice -c 2 -n 0 /usr/bin/firefox.orig $@

Bem claro qual é o resultado.

Você também pode usar a rota cgroups , que é provavelmente mais econômica no longo prazo, mas também se abre para uma série de novos problemas baseados em desempenho. Uma vez que você comece a medir os recursos, você pode facilmente passar os processos de forma não intencional, fazendo exatamente o que você diz para fazer, mesmo que você não entenda toda a repercussão.

Parece que a duplicidade ou o deja-dup está sendo executado (rsync), o que, é claro, irá sugar toda a sua largura da ioband, e também alguns cpu. Outra opção é simplesmente agendá-lo para quando você não está na frente do computador, é o que eu faço. A melhor solução que vi para o gerenciamento do io é a dm-ioband , mas ela vive fora da árvore e está em constante desenvolvimento há algum tempo.

Eu gostaria de ter uma solução geral para você, mas não existe essa coisa com engenharia de desempenho. Aqui está um bom guia da IBM, mas você notará que é principalmente "aqui está como começou" para cada subsistema, não há muitas receitas "faça isso e seja feliz", pois elas não existem, todas as necessidades do sistema é diferente quando se trata de ajuste de desempenho.

link

    
por ppetraki 02.10.2012 / 15:24