0

私は、UNIX 系システム用の hellanzb と呼ばれる nntp nzb leecher の寄稿者であり、ユーザーでもあります。これは python で書かれており、非常にうまく機能します。ただし、通信速度が高く、プログラムが par や unrar などのアプリを使用している場合、ほとんどのシステムは停止します。unrar を使用して最後の 1 つを unraring している間に 10MB/s で DVD rip をダウンロードしている場合、ユーザーのシステム全体が停止します。

FreeBSD ではインタラクティブなジョブが好まれるため、この問題はあまり一般的ではありませんが、Linux ではほとんどの問題が発生します。「nice 19 hellanzb」を使用しても、重要度を最も低く設定しても、システムは停止します。

私たちのプログラムは機能し、アグレッシブですが、それがユーザーの望みのようです。ユーザーは、ファイルをダウンロードして展開するときにシステムが使用できなくなることを望んでいません。私たちはソフトウェアを内部的に制限したくありません。むしろ、スケジューラーをバッチではなくインタラクティブなアプリケーションに集中させたいと考えています。

これを行うより良い方法はありますか?

4

2 に答える 2

1

あなたの質問からは明らかではありませんが、アプリの機能の一部としてさまざまなプロセスを起動しているようです。その場合、それらのプロセスを起動するときに、それらのプロセスの良さを自分で明示的に制御する必要があります。これは、OS 固有のことです。

フォーク/実行している場合は、os .nice() を使用できます。

于 2009-11-18T20:36:29.243 に答える
1

CPU が不足する前に、システムの全 IO 容量を超えたようです。どこかでイオニスのことを思い出すのですが、どこか思い出せません。

于 2009-11-18T20:38:53.537 に答える