web-dev-qa-db-ja.com

選択したプログラムのHDD書き込み速度を制限する方法

私のHDDは遅い5400RPMであり、10GBサイズのファイルで作業する場合、その大きなファイルが新しいコピー/マルチプレクサ/書き込みなどの再作成を完了するまで、コンピュータを使用することは不可能です。プロセスによって異なりますが、HDDの速度がすべて消費され、このプロセスの実行中は他のプログラムを使用できません。

だから私は多分私が一緒に働くプログラムのHDD書き込み速度を制限できると思っていたので、大きなファイルが処理されている間にインターネットの閲覧やmp3の再生に使用するためにHDDの残りの空き速度を確保するでしょう。

23
user3108268

残念ながらそれはできません。ハードウェアは、アプリケーションやOSの一部からも抽象化されています。本質的に、アプリケーションは「これをディスクに書き込む」と言っており、OSがそれを処理します。アプリケーションはhowまたはwhenも処理しません。これらはすべてドライバとカーネルレベルで処理され、これを変更する実際の方法はありません。

couldこれを行ったとしても、回転している磁気ディスクを使用しているという事実があり、veryが遅いディスクを使用しているため、それほどの利益は得られません。ドライブは常に回転しており、ヘッドはディスクに沿って移動しています。ファイルへの書き込みが少ない場合でも、ディスクはディスク上の読み取り/書き込み用の適切な領域を常に探しています。

bestオプションは、別のドライブを取得してそのドライブで作業を行い、最初のドライブをインターネット、MP3などに残します。

追伸RAMがどれだけあるかについては言及しませんでした。スワップは低速の要因になる可能性があります。RAMがどれだけあるかによって、さらに追加すると助けるだけ。

13
Keltari

Process Lasso では、I/Oに優先順位を付けることができます。彼らのFAQから:

V4.1(v4.09ベータ)の新機能であるProcess Lassoには、現在およびデフォルトの明示的なI/O優先順位設定があり、それらを必要とするユーザーが利用できます。これはNT6 +(Vista、Win7など)にのみ適用されます。

ただし、VistaのI/O優先順位付けは、I/Oを行うスレッドの優先順位に基づいています。これは、I/Oを行うプロセスの優先順位クラスに依存します。アプリケーションが使用できる優先度のレベルは、実際には2つのレベル、通常と非常に低いです。技術的には5つありますが、これらの2つだけがプロセスによって実装または使用可能です。

したがって、スレッドの優先順位の調整は、そのスレッドのI/Oに反映されます。このように、Process LassoはすでにI/O優先順位付けを行っています。マイクロソフトでは、呼び出しスレッドの優先度を設定することにより(直接またはプロセスの優先度の基本クラスの調整により)、I/O優先度を調整することをアプリケーションに推奨しています。

MicrosoftのI/O優先順位付けに関する論文 も参照してください。

9
niutech

WindowsですべてのディスクI/Oを消費し続けるプロセスがあるときに私が行うことは、Process Explorerを起動して問題のプロセスを一時停止することです。仕事が終わり、少し待つ準備ができたら、再開します。ディスクI/Oを制御するオールオアナッシング方式であり、コンピューターを使用している間はプロセスが待機する必要があるため、これは最も生産的な方法ではありませんが、これまでのところ、これ以上の方法はありません。

一方、Cygwinでプロセスを実行できる場合は、コンピューターにpvをインストールして、pvの出力レートを抑制するオプション(-rだと思います)の最初または最後のステップとして使用できます。 。

1
RAKK

Sysinternalsの「Process Explorer」を使用して、優先度を「Background:4(Low I/O and Memory Priority)」に設定します

列見出しを右クリックしてディスクI/Oを使用しているプロセスを見つけ、[プロセスI/O]で列I/Oデルタ書き込みを追加します。次に、その列をクリックして並べ替えます。違反者がトッププロセスになる可能性があります。プロセスを見つけるために使用する方法に関係なく、プロセスを右クリックして[バックグラウンド:4優先順位]に設定します。

続いてプロセスを再度右クリックし、[プロパティ]に移動して[パフォーマンス]タブを確認すると、I/O優先度が[非常に低い]に設定されていることがわかります。

これは、LinuxでのNiceとioniceの使用に相当します。

これを実行すると、システムのパフォーマンスと応答性が大幅に向上するはずです。再起動後、および/またはプロセスが終了して再起動した後、これをやり直す必要があります。

0
Ian Macintosh