Application (Hellanzb) é um porco do sistema e Nice 19 não faz nada

StackOverflow https://stackoverflow.com/questions/1758743

  •  20-09-2019
  •  | 
  •  

Pergunta

Sou colaborador e usuário do NNTP NZB LEECHER chamado Hellanzb para sistemas como o Unix. Está escrito em Python e funciona muito bem. Embora, quando a taxa de transmissão seja alta e o programa esteja utilizando aplicativos como par e UNRAR, a maioria dos sistemas está parada. Se você estiver baixando um DVD RIP a 10 MB/s enquanto desenrola o último com UNRRAR, todo o sistema de usuários acabará.

O problema é menos comum no FreeBSD, pois favorece os trabalhos interativos, mas o Linux é onde temos a maioria dos problemas. Mesmo quando usamos "Nice 19 Hellanzb", configurando -o como o menos importante que o sistema ainda pare.

Nosso programa funciona e é agressivo, mas isso parece ser o que o usuário deseja. O usuário não deseja que seu sistema fique inutilizável ao baixar um arquivo e extraí -lo. Não queremos limitar nosso software internamente, preferimos fazer com que o agendador se concentre mais em aplicativos interativos do que em lote.

Existe uma maneira melhor de fazer isso?

Foi útil?

Solução

Não está claro pela sua pergunta, mas parece que você está lançando vários processos como parte do que seu aplicativo faz. Nesse caso, você terá que controlar explicitamente a gentileza desses processos, quando você os inicia, o que é uma coisa específica do sistema operacional.

Se você estiver fazendo/executando, você pode usar OS.legais().

Outras dicas

Parece que você superou toda a capacidade de IO do sistema antes de ficar sem CPU. Lembro -me de algo sobre um ionice em algum lugar, mas não me lembro de onde.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top