2009-11-18 3 views
0

Je suis à la fois un contributeur et un utilisateur du nntp nzb leecher appelé hellanzb pour les systèmes Unix. Il est écrit en python et fonctionne plutôt bien. Bien que lorsque le taux de transmission est élevé et que le programme utilise l'application comme le pair et le unrar, la plupart des systèmes s'arrêtent. Si vous téléchargez un dvd rip à 10MB/s tout en ignorant le dernier avec unrar, le système entier des utilisateurs s'arrêtera juste.Application (hellanzb) est un système hog et gentil 19 ne fait rien

Le problème est moins courant dans FreeBSD car il favorise les travaux interactifs, mais Linux est où nous avons la plupart des problèmes. Même lorsque nous utilisons "nice 19 hellanzb", le fait que ce soit le moins important, le système s'immobilise encore.

Notre programme fonctionne, et est agressif mais cela semble être ce que l'utilisateur veut. L'utilisateur ne souhaite pas que son système devienne inutilisable lors du téléchargement d'un fichier et de son extraction. Nous ne voulons pas limiter nos logiciels en interne, nous préférons que le planificateur se concentre davantage sur les applications interactives plutôt que sur les batchs.

Y a-t-il une meilleure façon de procéder?

+0

Est-ce que 'nice -19' ne le rend pas vraiment un porc? Je pense que vous voudriez 'nice 19 hellanzb'. – Aaron

+0

Je veux dire 19 désolé. – Recursion

Répondre

1

Ce n'est pas clair d'après votre question, mais il semble que vous lanciez divers processus dans le cadre de ce que votre application fait. Si c'est le cas, vous devrez vous-même contrôler explicitement la gentillesse de ces processus, lorsque vous les lancerez, ce qui est une opération spécifique au système d'exploitation.

Si vous exécutez/exécutez forking, vous pouvez utiliser .nice().

+0

nous nous chargeons pour exécuter ces programmes, de sorte qu'ils conservent la valeur de notre application principale. – Recursion

1

Il semble que vous ayez dépassé toute la capacité d'E/S du système avant de manquer de CPU. Je me rappelle quelque chose à propos d'une ionice quelque part mais je ne me souviens plus où.

Questions connexes