Existe algum utilitário para limitar a taxa de transferência de um processo após o lançamento? Exemplo simples: observe que um usuário utiliza toda a largura de banda de upload usando scp e deseja limitar a taxa ou diminuir a prioridade da transferência.
Eu acho que eu poderia usar uma combinação de iptables / tc ou pf para conseguir isso, mas eu queria saber se existe uma ferramenta "one-shot" disponível (como trickle com uma opção --pid ^^)?
Respostas:
Infelizmente, não existe uma solução para o FreeBSD. Existem muitas soluções, como dummynet / ipfw ou altq / pf, que são usadas para limitar o uso da rede com base em padrões diferentes, mas não em pids.
No Linux, há uma maneira de limitar o uso da rede com base no usuário:
Eu acho que não há solução para limitar a utilização da rede com base no pid.
fonte
É o processo para obter as portas de rede que o proc está usando. Depois de saber quais portas estão sendo usadas, você pode usar as regras IPTABLES para limitar a taxa dessas portas. Estes artigos devem fornecer uma idéia melhor: http://linux-ip.net/articles/Traffic-Control-HOWTO/ http://blog.edseek.com/~jasonb/articles/traffic_shaping/ http: // wikis. sun.com/pages/viewpage.action?pageId=49906332
fonte
No Linux, mesmo a combinação de iptables e tc pode ser um problema difícil, pois a opção "--pid-owner" foi abandonada do módulo iptables "owner" (veja a nota abaixo da tabela aqui ). De fato, apenas essa associação (pacote - processo) parece complicada, enquanto podemos fazer o resto facilmente, ou seja, filtrar e limitar pacotes com bastante eficiência.
fonte
Eu não acho que exista uma solução pronta para isso. Mas, usando ferramentas padrão do Linux, você pode hackear um script que fará a coisa certa.
Primeiro, você pode obter uma lista de todas as conexões de processos específicos com lsof. Em seguida, você pode criar políticas de entrada com tc para essas conexões.
fonte
De maneira grosseira, se você reduzir o processo para +20, qualquer outra coisa em execução no sistema terá prioridade e o trabalho será agendado com menos frequência; portanto, será mais difícil preencher os buffers ou pacotes de processo, o que deve levar a algum TCP. estrangulamento. Será esporádico, mas pode ajudar o suficiente.
fonte