ここで、偶然本を書きました。最初にコーヒーを飲む。
ディスク容量を空にすることでコンピューターの速度が上がるのはなぜですか?
少なくともそれ自体ではありません。これは本当に一般的な神話です。ハードドライブをいっぱいにすることは、多くの場合、伝統的に他のものと同時に起こるので、それが一般的な神話である理由がある可能性が遅く†コンピュータを。ドライブがいっぱいになるとSSDのパフォーマンスは低下する傾向がありますが、これは比較的新しい問題であり、SSDに固有のものであり、一般ユーザーにとってはあまり目立ちません。一般に、ディスクの空き容量が少ないことは単なる赤いニシンです。
たとえば、次のようなもの:
ファイルの断片化。ファイルの断片化は問題††ですが、空き領域の不足は間違いなく多くの要因の1つですが、それが唯一の原因ではありません。ここでいくつかの重要なポイント:
ファイルが断片化される可能性は、ドライブの空き容量とは関係ありません。これらは、ドライブの空き領域の最大連続ブロックのサイズ(空き領域の「穴」など)に関連しており、空き領域の量によってが上限になります。また、ファイルシステムがファイルの割り当てを処理する方法にも関連しています(以下で詳しく説明します)。考えてみましょう: 1つの連続したブロック内のすべての空き領域を持つ完全な95%は、新しいファイルの断片化の0%のチャンスがあるドライブ†††(および添付ファイルの断片化のチャンスが空きスペースとは無関係ですが)。5%満杯ですが、データがドライブ全体に均等に分散しているドライブでは、断片化の可能性が非常に高くなります。
ファイルの断片化は、断片化されたファイルにアクセスしているときのパフォーマンスにのみ影響することに注意してください。考えてみてください。まだ多くの空き「穴」が残っている、最適化された素敵なドライブがあるとします。一般的なシナリオ。すべてがスムーズに実行されています。ただし、最終的には、大きな空きブロックが残っていない状態になります。巨大な映画をダウンロードすると、ファイルはひどく断片化されます。これにより、コンピューターの速度が低下することはありません。以前は問題なかったすべてのアプリケーションファイルなどが突然断片化されることはありません。これは映画を作るかもしれません(典型的な映画のビットレートは、それが最も可能性が高い目立たないだろうな料金を読んで、ハードドライブに比べて非常に低いが)のロードに時間がかかる、としながら、それがI / Oバウンドのパフォーマンスに影響を与える可能性があり、ムービーがロードされ、それ以外の、何も変わりません。
ファイルの断片化は確かに問題ですが、多くの場合、OSおよびハードウェアレベルのバッファリングとキャッシュによって影響が緩和されます。遅延書き込み、先読み、Windows のプリフェッチャーなどの戦略はすべて、断片化の影響を軽減するのに役立ちます。通常、断片化が深刻になるまで、実際に大きな影響はありません(スワップファイルが断片化されていない限り、おそらく気付かないでしょう)。
別の例として、検索インデックス作成があります。自動インデックス作成がオンになっていて、これを適切に処理しないOSがあるとします。インデックス作成可能なコンテンツ(ドキュメントなど)をコンピューターに保存すると、I / OとCPU使用率の両方で、インデックス作成に時間がかかり、実行中のコンピューターの知覚速度に影響を与え始める可能性があります。これは空き容量とは関係なく、インデックス可能なコンテンツの量に関係しています。ただし、空き容量が不足すると、より多くのコンテンツが保存されるため、誤った接続が作成されます。
ウイルス対策ソフト。検索インデックスの例に似ています。ドライブのバックグラウンドスキャンを実行するように設定されたウイルス対策ソフトウェアがあるとします。スキャン可能なコンテンツが増えると、検索に必要なI / OおよびCPUリソースが増え、作業の妨げになる可能性があります。繰り返しますが、これはスキャン可能なコンテンツの量に関連しています。多くの場合、空き容量が少ないほどコンテンツが多くなりますが、空き容量の不足が原因ではありません。
インストールされたソフトウェア。コンピューターの起動時に読み込まれるソフトウェアが多数インストールされており、起動時間が遅くなっているとします。このスローダウンは、多くのソフトウェアがロードされているために発生します。ただし、インストールされたソフトウェアにはハードドライブの空き容量が必要です。そのため、ハードドライブの空き領域はこれが発生すると同時に減少し、再び誤った接続が行われる可能性があります。
- これらの線に沿った他の多くの例は、一緒にすると、空き領域の不足とパフォーマンスの低下を密接に関連付けているように見えます。
上記は、これが非常に一般的な神話である別の理由を示しています:空き領域の不足は、速度低下の直接的な原因ではありませんが、さまざまなアプリケーションのアンインストール、インデックス付きまたはスキャンされたコンテンツの削除などがあります(常にではありません;この範囲外です)回答)残りの空き領域の量とは無関係の理由でパフォーマンスを再び向上させます。ただし、これにより、ハードドライブのスペースも自然に解放されます。したがって、再び、「より多くの空き領域」と「より高速なコンピュータ」の間の明らかな(しかし、誤った)接続を確立できます。
考慮してください:インストールされたソフトウェアなどがたくさんあるためにマシンの動作が遅く、ハードドライブをより大きなハードドライブに正確にクローンし、パーティションを拡張して空きスペースを増やすと、マシンは魔法のように高速化されませんアップ。同じソフトウェアがロードされ、同じファイルが同じ方法で断片化され、同じ検索インデクサーが実行され、空き容量が増えても変更はありません。
物を保存するメモリ空間の検索に関係していますか?
いいえ、違います。ここで注目に値する2つの非常に重要なことがあります。
あなたのハードドライブは物を置く場所を見つけるために周りを検索しません。あなたのハードドライブは愚かです。何でもありません。これはアドレス指定されたストレージの大きなブロックであり、OSが指示したものを盲目的に配置し、要求されたものを読み取ります。最新のドライブには、時間の経過に基づいてOSが要求する内容を予測するために設計された洗練されたキャッシュおよびバッファリングメカニズムがあります(一部のドライブは、その上にあるファイルシステムを認識します)。あなたのドライブは、時折ボーナスパフォーマンス機能を備えた単なる大きなダムのストレージとして機能します。
オペレーティングシステムは、物を置く場所も検索しません。「検索」はありません。この問題の解決には、ファイルシステムのパフォーマンスにとって非常に重要であるため、多くの努力が払われています。ドライブ上でデータが実際に編成される方法は、ファイルシステムによって決まります。たとえば、FAT32(古いDOSおよびWindows PC)、NTFS(後のWindows)、HFS +(Mac)、ext4(一部のLinux)、およびその他多数。「ファイル」と「ディレクトリ」の概念でさえ、典型的なファイルシステムの単なる製品です。ハードドライブは「ファイル」と呼ばれる謎の獣については知りません。詳細はこの回答の範囲外です。ただし、基本的に、すべての一般的なファイルシステムには、ドライブ上の空き領域を追跡する方法があるため、通常の状況(つまり、正常なファイルシステム)では空き領域の検索は不要です。例:
NTFSは持っているマスターファイルテーブル特殊ファイルが含ま、$Bitmap
など、およびドライブを記述するメタデータをたくさん。基本的に、次の空きブロックがどこにあるかを追跡するため、毎回ドライブをスキャンしなくても、新しいファイルを空きブロックに直接書き込むことができます。
別の例として、ext4には「ビットマップアロケーター」と呼ばれるものがあります。これは、基本的に空きブロックのリストをスキャンする代わりに、空きブロックがどこにあるかを直接判断するのに役立つext2およびext3に対する改良です。Ext4は、「遅延割り当て」もサポートしています。つまり、断片化を減らすためにどこに配置するかをより適切に決定するために、データをドライブに書き込む前にOSがRAMにデータをバッファリングします。
他の多くの例。
または何かを保存するのに十分な長さの連続したスペースを作るために物事を動かしますか?
いいえ。これは、少なくとも私が知っているファイルシステムでは発生しません。ファイルは断片化します。
「何かを保存するのに十分な長さの連続したスペースを作るために物を動かす」プロセスは、デフラグと呼ばれます。これは、ファイルが書き込まれたときには発生しません。これは、ディスクデフラグツールを実行すると発生します。少なくとも新しいWindowsでは、これはスケジュールに従って自動的に行われますが、ファイルの書き込みによってトリガーされることはありません。
このような動きを避けることができることは、ファイルシステムのパフォーマンスの鍵であり、断片化が発生する理由と、最適化が別のステップとして存在する理由です。
ハードディスクの空き領域はどのくらい残しますか?
これは答えるのが難しい質問であり、この答えはすでに小さな本になっています。
経験則:
すべてのタイプのドライブの場合:
- 最も重要なことは、コンピューターを効果的に使用するための十分な空きスペースを残すことです。仕事のためにスペースが不足している場合は、より大きなドライブが必要になります。
- 多くのディスクデフラグツールは、動作するために最小限の空き領域(Windowsの場合は15%の最悪のケースが必要だと思います)を必要とします。
- 他のOS機能用のスペースを残します。たとえば、マシンに物理RAMが多くなく、動的にサイズ設定されたページファイルで仮想メモリを有効にしている場合、ページファイルの最大サイズに十分なスペースを残してください。または、休止状態モードにするラップトップがある場合、休止状態ファイル用に十分な空き領域が必要になります。そういうもの。
SSD固有:
- 最適な信頼性(およびより低い範囲でのパフォーマンス)のために、SSDにはある程度の空き領域が必要です。SSDはあまり詳細に説明することなく、ドライブ全体にデータを分散するために使用し、同じ場所への継続的な書き込み(摩耗する)を回避します。空き領域を残すというこの概念は、オーバープロビジョニングと呼ばれます。それは重要ですが、多くのSSDでは、必須のオーバープロビジョニングされたスペースがすでに存在しています。つまり、ドライブには多くの場合、OSに報告するよりも数十GB多くのGBがあります。ローエンドドライブでは、パーティション化されていないスペースを手動で残す必要がありますが、OPが必須のドライブでは、空きスペースを残す必要はありません。ここで注意すべき重要なことは、オーバープロビジョニングされたスペースは、多くの場合、パーティション化されていないスペースからのみ取得されます。そのため、パーティションがドライブ全体を占有し、その上に空き領域を残した場合、それは必ずしもカウントされません。多くの場合、手動のオーバープロビジョニングでは、パーティションをドライブのサイズよりも小さくする必要があります。詳細については、SSDのユーザーマニュアルを参照してください。TRIMやガベージコレクションなどにも効果がありますが、これらはこの回答の範囲外です。
個人的には、20〜25%の空き容量が残っているときに、より大きなドライブを手に入れます。これはパフォーマンスとは関係ありません。その時点に到達した時点で、データ用のスペースがすぐになくなる可能性があることを期待しているだけです。
空き領域を監視するよりも重要なのは、適切な場所(SSDではない)でスケジュールされたデフラグが有効になっていることを確認することです。同様に重要なのは、誤った調整を回避し、OSに処理を任せることです。たとえば、Windowsプリフェッチャーを無効にしないでください(SSDを除く)など。
言及する価値がある最後の1つがあります。ここでの他の回答の1つは、SATAの半二重モードが読み取りと書き込みを同時に防ぐことを示しています。事実ですが、これは非常に単純化されており、ここで説明しているパフォーマンスの問題とはほとんど関係ありません。これが意味することは、単純に、データをワイヤ上で同時に双方向に転送できないことです。ただし、SATAには、小さな最大ブロックサイズ(ワイヤ上のブロックごとに約8kB)、読み取りおよび書き込み操作キューなどを含むかなり複雑な仕様があり、読み取りの進行中、インターリーブ中に発生するバッファーへの書き込みを排除しません操作など
発生するブロッキングは、通常、十分なキャッシュによって緩和される物理リソースの競合によるものです。ここでは、SATAの二重モードはほとんど関係ありません。
†「スローダウン」は広義の用語です。ここでは、I / Oバウンド(たとえば、コンピューターがクランチナンバーに座っている場合、ハードドライブの内容に影響がない)、またはCPUバウンドで接線方向に関連するものと競合するものを参照するために使用しますCPU使用率が高い(ウイルス対策ソフトウェアが大量のファイルをスキャンするなど)。
†† SSD は断片化の影響を受けます。これは、SSDが機械的デバイスと同じ制限に直面していないにもかかわらず、シーケンシャルアクセス速度が一般的にランダムアクセスより速いためです(それでも、断片化の欠如はウェアレベリングなどによりシーケンシャルアクセスを保証しません) 、James Snellがコメントで述べているように)。ただし、ほぼすべての一般的な使用シナリオでは、これは問題ではありません。通常、SSDの断片化によるパフォーマンスの違いは、アプリケーションの読み込み、コンピューターの起動などの場合にはごくわずかです。
†††意図的にファイルを断片化しない健全なファイルシステムを想定しています。