Application (hellanzb) è un maiale di sistema e bel 19 non fa nulla

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

  •  20-09-2019
  •  | 
  •  

Domanda

Sono sia un collaboratore e utente del leecher NZB nntp chiamato hellanzb per Unix come i sistemi. E 'scritto in python e funziona abbastanza bene. Anche se quando la velocità di trasmissione è alta e il programma sta utilizzando app come pari e unrar, la maggior parte dei sistemi sono a un punto morto. Se si sta scaricando un rip DVD a 10 MB / s, mentre unraring l'ultimo con unrar, gli utenti intero sistema sarà solo fermare.

Il problema è meno comune in FreeBSD come il favore di posti di lavoro interattive, ma Linux è dove abbiamo la maggior parte dei problemi. Anche quando usiamo "bel 19 hellanzb", impostazione che sia il meno importante il sistema continua a venire a un punto morto.

Il nostro programma funziona, ed è aggressivo, ma che sembra essere ciò che l'utente vuole. L'utente non vuole che il suo sistema diventi inutilizzabile durante il download di un file ed estraendolo. Non vogliamo limitare il nostro software internamente, avremmo preferito avere l'utilità di pianificazione solo concentrarsi di più sulle applicazioni interattive piuttosto che in batch.

C'è un modo migliore per fare questo?

È stato utile?

Soluzione

Non è chiaro dalla tua domanda, ma sembra come se si sta lanciando vari processi come parte di ciò che la vostra applicazione fa. Se è così, dovrete controllare in modo esplicito la gentilezza di quei processi da soli, quando li si lancia, che è una cosa specifica-OS da fare.

Se stai forking / tramite l'esecuzione, è possibile utilizzare os .nice ( ).

Altri suggerimenti

Sembra che superato l'intera capacità IO del sistema prima di rimanere a corto di CPU. Ricordo qualcosa su un ionice da qualche parte, ma non riesco a ricordare dove.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top