web-dev-qa-db-ja.com

Cドライブ全体(Windowsにインストールされたドライブ)をいっぱいにするのは悪いですか?

Windowsにインストールされているドライブ(C:\など)をいっぱいにするのは悪いことですか?はいの場合、なぜ、どのくらいのスペースを埋めるべきか、Cドライブにファイルを追加すると、ハードウェアのパフォーマンスに影響します。パフォーマンスを向上させるには、どのくらいのスペースを空のままにしておく必要がありますか。ドライブ全体を埋めることによる結果はどうなるでしょうか。

5
subanki

さて、すぐに頭に浮かぶのは、「完全にいっぱいの」ドライブがあると、次の問題のいくつかが発生する可能性があるということです。

  • 一時ファイルを生成したり、ディスクを使用してキャッシュしたりする必要のあるプログラム(たとえば、インストーラー(他のドライブへの場合でも)、ダウンロード、圧縮など)で問題が発生する可能性があります。
  • ページファイルは、必要に応じて展開できなくなります(Cで保持されていると仮定)。
  • RAMをディスクに保存するのに十分なスペースがない場合、休止状態を防ぐことができます。[編集:Martinが 彼の答え で指摘しているように、休止状態は休止状態のときに追加のスペースを必要としませんが、代わりに休止状態が最初にオンになったときにスペースを使い果たします。]
  • 最適化が非常に遅くなるか、不可能になります。

ドライブをデフラグしたままにしておくと、「フル」ドライブは「エンプティ」ドライブと同様に機能するはずなので、パフォーマンスの問題はそれほど多くないと思います。[Edit2ジョエルの答え フルドライブがどのように広がりを求めているかを素晴らしく説明していますまたはフルドライブ。これは明らかにパフォーマンスに悪影響を及ぼします。]

推奨される最大の使用率は85〜90%だと思いますが、現時点でその数値をどこから取得したかは思い出せません。

8
DMA57361

一般的に言って、Windowsでハードドライブをいっぱいにすると、Linuxボックスよりも悪い影響があります。

私は、休止状態(スタンバイではない)に関する発言を除いて、前のポスターが言ったことすべてに同意します。休止状態が「オン」になるとすぐに、必要なスペースがディスクに割り当てられるためです。隠しファイルを作成しますC:\hiberfil.sys。そのサイズは、コンピュータにあるRAM(2GB RAM-> 2GB hiberfile.sys))の量とほぼ同じです。ハイバネーションをオンに切り替えるのを「防ぐ」ことができます。ハイバネーションをオフにすると、RAMと同じ量のディスク領域が解放されます。

推奨される最大使用量85%->この数値は、WindowsXPをインストールしたときに表示されます。より正確に:ディスクの少なくとも15%を空けておくように指示します。

次の2つの実験を実行して、ファイルの書き込み/読み取りとデフラグに関して、コンピューター内/ディスク上で何が起こっているかを大まかに理解することができます。

実験1:

  1. Windowsでデフラグツールを開きます
  2. 赤(断片化されたスペース)が表示されなくなるまで、ディスクを(おそらく2回)最適化します。
  3. 大きなファイルをダウンロードします(例:Ubuntu ISOイメージ〜750MB)。
  4. デフラグツールに切り替えて、ディスクを確認するだけです
  5. あなたは今たくさんの赤いマークを見ます

その理由は、データが「段階的に」書き込まれたためです。ディスク全体にいくらか「分散」しました。お使いのブラウザは、コンピュータ/ Windowsに次のようなサイズのファイルを作成するように指示しませんでした。 750MBですが、ファイルを作成し、データをバイトごとに追加しました。 Windowsは、このファイルがどれだけ大きくなるかを事前に知りませんでした。

ディスクをデフラグすることがなく、ディスクがかなりいっぱいになっている場合、「コンピュータ」はディスク上の空き領域を探しすぎているため、(この例では)新しくダウンロードしたファイルを空き領域の残りのギャップを埋める方法で突然配布する必要があります。 。これにより、書き込みが遅くなります。

ファイルがディスク全体に分散していて、それを読み取りたい場合(たとえば、上記のISOファイルを書き込む場合)、ディスク内の読み取り/書き込みヘッドは、すべてのピースを取得するために頻繁に前後に移動する必要があります。これにより、読み取りが遅くなります。

実験2:

  1. 新しくダウンロードしたISOにマークを付けて、別のディスクにコピーします。 (USBスティック、外付けハードドライブなど)
  2. 元のファイル(「Windows」ドライブ)を削除し、コピーを他のメディアに保存するだけです
  3. ファイルを外部ディスクなどから「Windows」ハードディスクにコピーして戻します
  4. デフラグツールで「チェック」を再度実行します
  5. 現在、赤いマークはほとんど表示されません。

ファイルは1つのシーケンスで書き込まれました。これは、Windowsが事前にファイルサイズを知っていたため、ディスク上の必要なすべてのスペースを一度に予約できたためです。

4
Martin

この答えを理解するために、私は最初にいくつかの段落に相当する背景情報を関連付ける必要があります。

ハードドライブは通常、システムで最も低速で最大のパフォーマンスのボトルネックです。高速ハードドライブを使用することは、メモリや高速CPUよりも、システムパフォーマンスの多くの側面にとって重要です。この速度低下は、実際の可動部品に依存して動作するためです。これらの可動部品は、回転スループット、回転待ち時間、シーク時間の3つの方法でパフォーマンスに影響を与えます。回転スループットは、Platterの移動速度に応じて、特定の期間に読み取り/書き込みヘッドの下を通過するバイト数です。ローテーションレイテンシは、リクエストの最初のバイトがローテーションして読み取り/書き込みヘッドに到達するのにかかる時間です。シーク時間は、シークヘッドがプラッターの正しい位置に到達するのにかかる時間です。

それが私が話したい最後の項目です。シーク時間を短縮するために、ディスクコントローラはドライブの先頭近くでデータをグループ化しようとします。これが、XPマシンのデフラグファイルを見ると、ファイルの圧縮に多くの時間を費やしていることがわかる理由です。また、新しいフラグメントがあるたびに、デフラグを実行したい理由でもあります。ファイルでは、別の(遅い!)シーク操作を実行する必要があります。

さて、十分な背景。あなたの質問に直接対処する実際のシナリオに移りましょう。 8〜9ミリ秒の平均シーク時間をアドバタイズする新しいドライブを購入するとします。 8〜9ミリ秒はそれほど多くないように思われるかもしれませんが、コンピューター(ナノ秒単位で考える)にとっては、1ミリ秒でも永遠です。ここで、そのドライブの容量の25%のみを使用し、十分にデフラグをかけたままにしておくとしましょう。あなたの平均シーク時間は何ですか?読み取り/書き込みヘッドがドライブの外側の75%をシークする必要がないため、正解は8〜9ミリ秒よりはるかに短いものです。それは常に目的地にずっと近いところから始まります。

それでは、そのドライブをいっぱいにすることをイメージしてみましょう。シークごとに平均で最大8〜9ミリ秒戻っています。ドライブがいっぱいになると、シーク時間が遅くなり、システム全体のパフォーマンスが低下することをここで理解していただければ幸いです。 ramまたはreadyboostなどの他の最適化手法を追加することでこの影響を減らすことができますが、完全に排除することはできません。

4
Joel Coehoorn