ディスク容量を空にすることでコンピューターの速度が上がるのはなぜですか?


191

私はたくさんのビデオを見てきましたが、今ではコンピューターがどのように機能するかを少しよく理解しています。RAMとは何か、揮発性メモリと不揮発性メモリ、およびスワッピングのプロセスをよく理解しています。また、RAMを増やすとコンピューターが高速になる理由も理解しています。

ディスク領域のクリーンアップがコンピューターを高速化する理由がわかりません。しますか?どうしてですか?物を保存するために利用可能なスペースを検索する必要がありますか?または、何かを保存するのに十分な長さの連続したスペースを作るために物事を動かしますか?ハードディスクの空き領域はどのくらい残しますか?


37
実際にPCを高速化するのではなく、ファイルの断片化によりHDDが遅くなる可能性を減らすだけです。これは、誰もが繰り返す最大のPC神話の1つです。PCでブートネックを見つけるには、xperf / WPAでトレースします。
magicandre1981

9
FWIWそれspeeds up the experience of using a PC
edthethird

4
@ magicandre1981:真実の小さな宝石があります。各フォルダーにあるものが多いほど、ファイルの走査が遅くなり、ファイルパスを使用するすべてに影響します。しかし、それは小さいです。
Mooingダック

4
@MooingDuck trueの場合、これはフォルダー内のファイル数に関係し、ファイルのサイズやドライブに残っているスペースの量には関係しません。その影響は、残りのディスク容量とは関係ありません。また、この効果の範囲はフォルダー自体に限定され、コンピューター全体の速度が低下することはありません。たとえば、ext3 / 4などの一部のファイルシステムは、ハッシュされたディレクトリツリーを使用してルックアップ(サブフォルダアクセスを含む)を高速化するため、ディレクトリの内容を一覧表示する場合など、効果の範囲をさらに制限します。
ジェイソンC

4
正確にどのビデオを見ていましたか?
ロコ

回答:


313

ここで、偶然本を書きました。最初にコーヒーを飲む。

ディスク容量を空にすることでコンピューターの速度が上がるのはなぜですか?

少なくともそれ自体ではありません。これは本当に一般的な神話です。ハードドライブをいっぱいにすることは、多くの場合、伝統的に他のものと同時に起こるので、それが一般的な神話である理由がある可能性が遅くコンピュータを。ドライブがいっぱいになるとSSDのパフォーマンスは低下する傾向がありますが、これは比較的新しい問題であり、SSDに固有のものであり、一般ユーザーにとってはあまり目立ちません。一般に、ディスクの空き容量が少ないことは単なる赤いニシンです。

たとえば、次のようなもの:

  • ファイルの断片化。ファイルの断片化問題††ですが、空き領域の不足は間違いなく多くの要因の1つですが、それが唯一の原因ではありません。ここでいくつかの重要なポイント:

    • ファイルが断片化される可能性は、ドライブの空き容量と関係ありません。これらは、ドライブの空き領域の最大連続ブロックのサイズ(空き領域の「穴」など)に関連しており、空き領域の量によってが上限になります。また、ファイルシステムがファイルの割り当てを処理する方法にも関連しています(以下で詳しく説明します)。考えてみましょう: 1つの連続したブロック内のすべての空き領域を持つ完全な95%は、新しいファイルの断片化の0%のチャンスがあるドライブ†††(および添付ファイルの断片化のチャンスが空きスペースとは無関係ですが)。5%満杯ですが、データがドライブ全体に均等に分散しているドライブでは、断片化の可能性が非常に高くなります。

    • ファイルの断片化は、断片化されたファイルにアクセスしているときのパフォーマンスにのみ影響することに注意してください考えてみてください。まだ多くの空き「穴」が残っている、最適化された素敵なドライブがあるとします。一般的なシナリオ。すべてがスムーズに実行されています。ただし、最終的には、大きな空きブロックが残っていない状態になります。巨大な映画をダウンロードすると、ファイルはひどく断片化されます。これにより、コンピューターの速度が低下することはありません。以前は問題なかったすべてのアプリケーションファイルなどが突然断片化されることはありません。これは映画を作るかもしれません(典型的な映画のビットレートは、それが最も可能性が高い目立たないだろうな料金を読んで、ハードドライブに比べて非常に低いが)のロードに時間がかかる、としながら、それがI / Oバウンドのパフォーマンスに影響を与える可能性があり、ムービーがロードされ、それ以外の、何も変わりません。

    • ファイルの断片化は確かに問題ですが、多くの場合、OSおよびハードウェアレベルのバッファリングとキャッシュによって影響が緩和されます。遅延書き込み、先読み、Windows のプリフェッチャーなどの戦略はすべて、断片化の影響を軽減するのに役立ちます。通常、断片化が深刻になるまで、実際に大きな影響はありません(スワップファイルが断片化されていない限り、おそらく気付かないでしょう)。

  • 別の例として、検索インデックス作成があります。自動インデックス作成がオンになっていて、これを適切に処理しないOSがあるとします。インデックス作成可能なコンテンツ(ドキュメントなど)をコンピューターに保存すると、I / OとCPU使用率の両方で、インデックス作成に時間がかかり、実行中のコンピューターの知覚速度に影響を与え始める可能性があります。これは空き容量とは関係なく、インデックス可能なコンテンツの量に関係しています。ただし、空き容量が不足すると、より多くのコンテンツが保存されるため、誤った接続が作成されます。

  • ウイルス対策ソフト。検索インデックスの例に似ています。ドライブのバックグラウンドスキャンを実行するように設定されたウイルス対策ソフトウェアがあるとします。スキャン可能なコンテンツが増えると、検索に必要なI / OおよびCPUリソースが増え、作業の妨げになる可能性があります。繰り返しますが、これはスキャン可能なコンテンツの量に関連しています。多くの場合、空き容量が少ないほどコンテンツが多くなりますが、空き容量の不足が原因ではありません。

  • インストールされたソフトウェア。コンピューターの起動時に読み込まれるソフトウェアが多数インストールされており、起動時間が遅くなっているとします。このスローダウンは、多くのソフトウェアがロードされているために発生します。ただし、インストールされたソフトウェアにはハードドライブの空き容量が必要です。そのため、ハードドライブの空き領域はこれが発生すると同時に減少し、再び誤った接続が行われる可能性があります。

  • これらの線に沿った他の多くの例は、一緒にすると、空き領域の不足とパフォーマンスの低下を密接に関連付けているように見えます。

上記は、これが非常に一般的な神話である別の理由を示しています:空き領域の不足は、速度低下の直接的な原因ではありませんが、さまざまなアプリケーションのアンインストール、インデックス付きまたはスキャンされたコンテンツの削除などがあります(常にではありません;この範囲外です)回答)残りの空き領域の量とは無関係の理由でパフォーマンスを再び向上させます。ただし、これにより、ハードドライブのスペースも自然に解放されます。したがって、再び、「より多くの空き領域」と「より高速なコンピュータ」の間の明らかな(しかし、誤った)接続を確立できます。

考慮してください:インストールされたソフトウェアなどがたくさんあるためにマシンの動作が遅く、ハードドライブをより大きなハードドライブに正確にクローンし、パーティションを拡張して空きスペースを増やすと、マシンは魔法のように高速化されませんアップ。同じソフトウェアがロードされ、同じファイルが同じ方法で断片化され、同じ検索インデクサーが実行され、空き容量が増えても変更はありません。

物を保存するメモリ空間の検索に関係していますか?

いいえ、違います。ここで注目に値する2つの非常に重要なことがあります。

  1. あなたのハードドライブは物を置く場所を見つけるために周りを検索しません。あなたのハードドライブは愚かです。何でもありません。これはアドレス指定されたストレージの大きなブロックであり、OSが指示したものを盲目的に配置し、要求されたものを読み取ります。最新のドライブには、時間の経過に基づいてOSが要求する内容を予測するために設計された洗練されたキャッシュおよびバッファリングメカニズムがあります(一部のドライブは、その上にあるファイルシステムを認識します)。あなたのドライブは、時折ボーナスパフォーマンス機能を備えた単なる大きなダムのストレージとして機能します。

  2. オペレーティングシステムは、物を置く場所も検索しません。「検索」はありません。この問題の解決には、ファイルシステムのパフォーマンスにとって非常に重要であるため、多くの努力が払われています。ドライブ上でデータが実際に編成される方法は、ファイルシステムによって決まります。たとえば、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の断片化によるパフォーマンスの違いは、アプリケーションの読み込み、コンピューターの起動などの場合にはごくわずかです。

†††意図的にファイルを断片化しない健全なファイルシステムを想定しています。


非常に包括的な答え、ありがとう。また、コーヒーを飲むことを思い出させてくれてありがとう。
ハシム

22

Nathanial MeekによるHDD の説明に加えて、SSDには別のシナリオがあります。

SSDは、SSD上の任意の場所へのアクセス時間が同じであるため、分散データの影響を受けません。通常のSSDアクセス時間は0.1msであるのに対し、通常のHDDアクセス時間は10〜15msです。ただし、すでにSSDに書き込まれているデータには敏感です。

既存のデータを上書きできる従来のHDDとは異なり、SSDはデータを書き込むために完全に空のスペースを必要とします。これは、削除済みとしてマークされたデータを削除するTrim and Garbage Collectionと呼ばれる機能によって実行されます。ガベージコレクションは、SSDの一定の空き容量との組み合わせで最適に機能します。通常、空き領域の15%〜25%が推奨されます。

ガベージコレクションが時間内にジョブを完了できない場合、各書き込み操作の前に、データが書き込まれることになっているスペースのクリーンアップが行われます。これにより、各書き込み操作の時間が2倍になり、全体的なパフォーマンスが低下します。

ここで優れた記事トリムとガベージコレクションの機能を説明します


SSDは、部分的なデータを読み取り、さらに書き込まれたデータを書き戻すことで、部分的に満たされたセルに書き込むことができますが、やむを得ない場合にのみそうする傾向があることに注意してください。もちろん、これも非常に遅く、通常、ドライブが非常に断片化されているため、再書き込みを高速化するにはかなりの時間がかかります。
ふわふわ

それはコントローラーにも依存します。そして、非常に多くのバリエーションがあるので、私はその詳細レベルには入りたくありませんでした。
whs 2015

あなたが話す15-25%は「オーバープロビジョニング」と呼ばれます。一部のドライブには、これに必要なスペースが既に割り当てられています(たとえば、1TB EVO 840には9%が予約されており、OSに空きとして報告されません)。場合によっては、過剰にプロビジョニングされたスペースもパーティションを解除する必要があり、ファイルシステムに空きスペースを残しただけではカットされないため、実際には未割り当てスペースを残しておく必要があります。
ジェイソンC

過剰なプロビジョニングは別のものです。これらは、欠陥のあるナンドを交換するためのスタンバイのナンドです。15〜25%は、ブロック(ページ)の解放とウェアレベリングに必要です。あなたは==>詳細はこちらを読むことをお勧めしますthessdreview.com/daily-news/latest-buzz/...
WHS

@whsそうではなく、リンク先の記事がそうであることを意味するものではありません。オーバープロビジョニングされたスペース(そのセクションで引用されているソース、またはGoogleも参照)は空きブロックのプールであり、このプール内のブロックはガベージコレクション/高速書き込み、ウェアレベリング、および欠陥セルの交換に使用されます。欠陥セルの交換に関しては、すべて同じプール内にあります。欠陥セルがいっぱいになると、一貫したエラーが表示され始めます。このプレゼンテーションのLSIからのスライド12も参照してください。すべてを通過する価値があり、トピックに直接対処します。
ジェイソンC

12

従来のハードディスク内のどこかに、個々のビットとバイトが実際にエンコードされる回転する金属のプラッターがあります。データがプラッタに追加されると、ディスクコントローラは最初にそのデータをディスクの外側に保存します。新しいデータが追加されると、最後にディスクの内側に向かって移動するスペースが使用されます。

これを念頭に置いて、ディスクがいっぱいになるとディスクのパフォーマンスが低下する2つの影響があります。シーク時間回転速度です。

シークタイムズ

データにアクセスするには、従来のハードディスクは、読み取り/書き込みヘッドを正しい位置に物理的に移動する必要があります。これには、「シーク時間」と呼ばれる時間がかかります。メーカーはディスクのシーク時間を公開していますが、通常は数ミリ秒です。それは多くのように聞こえないかもしれませんが、コンピュータにとってそれは永遠です。タスクを完了するために多くの異なるディスクの場所を読み書きする必要がある場合(これは一般的です)、これらのシーク時間は、顕著な遅延または待ち時間になります。

ほとんど空のドライブでは、ほとんどのデータが同じ位置または同じ位置の近くにあります。通常は、読み取り/書き込みヘッドの静止位置の近くの外縁にあります。これにより、ディスク全体をシークする必要性が減り、シークに費やされる時間が大幅に短縮されます。ほぼ満杯のドライブは、ディスクをより頻繁にシークする必要があるだけでなく、シークの動きを大きくしたり長くしたりする必要があるだけでなく、関連するデータを同じセクターに保持できず、ディスクシークがさらに増加し​​ます。これはフラグメントデータと呼ばます。

ディスクスペースを解放すると、デフラグサービスが断片化されたファイルをより迅速にクリーンアップできるだけでなく、ディスクの外側にファイルを移動できるため、シーク時間が短縮され、平均シーク時間が短縮されます。

回転速度

ハードドライブは固定速度(通常、コンピューターでは5400rpmまたは7200rpm、サーバーでは10000rpmまたは15000 rpm)で回転します。また、1ビットを保存するために、ドライブ上の固定量(多少)が必要です。一定の回転速度で回転するディスクの場合、ディスクの外側の方がディスクの内側よりも直線速度が速くなります。これは、ディスクの外縁近くのビットがディスクの中心近くのビットよりも速い速度で読み取りヘッドを通過することを意味します。インナー。

ほぼ空のドライブは、ディスクのより高速な外縁近くのビットへのアクセスにほとんどの時間を費やします。ドライブがほぼいっぱいになると、ディスクの内側の遅い部分の近くのビットにアクセスするのにより多くの時間がかかります。

繰り返しますが、ディスクスペースを空にすると、デフラグサービスがデータをディスクの外側に移動できるため、コンピューターの速度が向上します。

時々、ディスクは実際には読み取りヘッドに対して非常に速く移動しますが、外縁近くのセクターがずらされているため、この効果は減少します...読み取りヘッドが遅れないように書き込まれます。しかし、全体的にこれは成り立ちます。

これらの影響は両方とも、ディスクの高速部分で最初にデータをグループ化し、必要になるまでディスクの低速部分を使用しないディスクコントローラーに帰着します。ディスクがいっぱいになると、ディスクの遅い部分でますます多くの時間が費やされます。

効果は新しいドライブにも適用されます。他のすべてが同じであれば、新しい1TBドライブは新しい200GBドライブよりも高速です。これは、1TBがビットをより近くに格納し、内側のトラックを高速で埋めないためです。ただし、メーカーが複数のプラッタを使用して1TBのサイズに到達したり、小さなプラッタを使用して1TBシステムを200GBに制限したり、ソフトウェア/ディスクコントローラの制限により1TBのプラッタを200GB 200GBドライブとして多数の不良セクタがある1TBドライブから、部分的に完成した/欠陥のあるプラッタを備えたドライブを販売することもできます。

その他の要因

ここで、上記の効果はかなり小さいことに注意してください。コンピューターハードウェアエンジニアは、これらの問題を最小限に抑える方法に多くの時間を費やし、ハードドライブバッファー、スーパーフェッチキャッシュ、その他のシステムなどすべてが問題を最小限に抑えるために働きます。十分な空きスペースがある健全なシステムでは、気付くことすらありません。さらに、SSDのパフォーマンス特性はまったく異なります。ただし、効果は存在し、コンピュータはドライブがいっぱいになると正当に遅くなります。上の不健全なディスクの空き容量が非常に低いシステムは、これらの効果は、ディスクが絶えず前後に断片化されたデータ全体で求めているディスクスラッシングの状況を、作成することができ、およびディスク・スペースを解放することは、より劇的で顕著な改善が得られ、これを修正することができます。

さらに、データをディスクに追加するということは、インデックス作成やAVスキャン、デフラグプロセスなどの他の特定の操作が、以前と同じ速度またはほぼ同じ速度で実行されている場合でも、バックグラウンドでより多くの作業を行うことを意味します。

最後に、ディスクのパフォーマンスはある巨大な全体的なPCのパフォーマンスCPU速度よりも、これらの日...さらに大きな指標の指標。ディスクのスループットがわずかに低下したとしても、実際に認識されるPCパフォーマンスの全体的な低下に相当することがよくあります。ハードディスクのパフォーマンスがCPUとメモリの改善に実際に対応していないため、これは特に当てはまります。7200 RPMディスクは、10年以上にわたってデスクトップの標準となっています。これまで以上に、その従来の回転ディスクはコンピューターのボトルネックです。


1
シーク時間の増加は、空き領域が少ないためではなく、データ編成の結果です。データがすでにドライブ全体にある場合、ディスク領域を解放してもシーク時間は短縮されません。同様に、ディスク領域が不足しても、すでに適切に編成された無関係なデータのシーク時間が突然増加することはありません。さらに重要なことは、これらのいずれかを「遅いコンピューター」に関連付けることに非常に注意することです。たとえば、ブラウザの実行可能ファイルが断片化されておらず、メカニカルドライブの外側にあるという理由だけでWebを高速に閲覧することはできません。最悪の場合でもMP3は引き続きスムーズに再生されます。
ジェイソンC

2
@JasonCこれらの点はそれぞれ独立して真実ですが、システム全体の一部としてとると、実際のスローダウンが発生する可能性があります。例はこの主張です: "Freeing disk space won't decrease seek times if your data is already all over the drive. "それ自体は異議を唱えませんが、デフラグサービスがこのデータをドライブの前面に移動できるようになり、シーク時間改善されることを指摘できます。コメントの他のポイントにも同様のカウンターがあります。ディスク領域が不足しても、適切に編成されたデータのシークは増えませんが、データが整理されたままになる可能性は低くなります。
ジョエルCoehoorn

1
@JasonCただし、タイトルの質問にもっと直接対処するために、コメントに基づいて回答に2行追加しました。
ジョエル・シーホルン

もちろん; しかし、私の主なポイントは、1)低速化はの何かの結果であるということです。たとえ低い空きスペースが多くの要因の1つであっても、2)このトピックに本当に注意する必要があります。非常に迅速に。カジュアルなユーザーが自分のコンピューターが遅いことに気付いた場合、実際には、たとえば断片化(例)が実際の原因になることは非常にまれです。しかし、その後、彼らはインターネット上で大量のものを読み、クリーナー、50個のディスクデフラグツールをインストールし、悪いレジストリの調整などを行います。ここで大衆に対応する必要があります。賢明な人は答えを必要としません。
ジェイソンC

この回答は、短いストローク(HDサイズを人為的に制限してデータをより高速な外側の領域に保持する)と、潜在的な問題を示唆しています。また、ほとんどの場合、ドライブがいっぱいになるとドライブが断片化することを否定しないため、それも気に入っています。空き領域が実際の問題ではないことは注目に値しますが、一般的なユーザーエクスペリエンスの質問を処理する場合、一般的なユーザーエクスペリエンスを無視することは無意味です。
スミザーズ

6

他のすべての答えは技術的には正しいですが、この単純な例がそれを最もよく説明していることを常に見つけました。

たくさんのスペースがある場合は物事を並べ替えるのは本当に簡単ですが、スペースがない場合は難しいです... コンピューターもスペースが必要です!

この古典的な「15パズル」は、タイルをシャッフルして1〜15の正しい順序で並べるための無料の正方形が1つしかないため、時間がかかります。

ハード15パズル

ただし、スペースがもっと大きければ、10秒以内にこのパズルを解くことができます。

簡単15パズル

このパズルで遊んだことがある人なら誰でも、アナロジーを理解することは自然に思えます。;-)


2
ただし、これはファイルシステムの動作とは異なります。これはデフラグの一般的なプロセスに多少似ていますが、このパズルの類推に関連してデフラグを行うと、ボードから数字を削除し、解決するときに好きな場所に再配置できます。
ジェイソンC

2
上記のジェイソンのコメントに加えて、私は明らかなことを指摘したいと思います:この答えはソート(デフラグ)に関連していますが、特定のランダムタイル(「3」タイルなど)へのアクセスが2番目に速い理由については説明しません最初のケースよりもケース。
CVn

「3」だけにアクセスしていないからです。「1-15」にアクセスしています。この例では明確ではないことは認めますが、理解したとおりに取り上げました。「このパズルは、単一の断片化されたファイルに似ています」などのように特に注意する価値があるかもしれません。素晴らしい答え、物事を非常に精神的にアクセス可能にします!
スミザーズ

1
明確にするために:ここでの類推の主な問題は、実際のパズルでは、タイルを隣接する空のスペースにしか移動できないことです。つまり、小さな例では、6または13だけが空のスペースに移動できます。それがパズルを難しくしている理由です。それがタイルゲームのポイントです。ただし、ハードドライブを最適化する場合は、たとえば4を空のスペースに、1を正しい場所に、など、非常に簡単に解決できます。パズルの要点は当てはまらないため、アナロジーは本当に崩れます。このように機能するファイルシステムはありません。
ジェイソンC

「アクセスするのは「3」だけではないからです。「1-15」にアクセスしています '-これはナンセンスです。答えは完全に間違っているため、特定のランダムタイルへのアクセスが最初の場合よりも2番目の場合の方が速い理由を説明していません。デフラグはパズルの方法を制限するだけでなく、「トリッキー/時間のかかる」デフラグはシステムのパフォーマンスに影響しません。
ジムバルター

5

かなり長い時間、回転する機械式ハードドライブ上に非常に小さなディスクスペースしか持たないコンピューターは、一般的にファイルの断片化が大きくなるにつれて遅くなります。断片化の増加は、読み取りが遅いことを意味します。極端な場合は非常に遅くなります。

コンピューターがこの状態になると、ディスク領域を解放しても実際には問題が解決しません。また、ディスクを最適化する必要があります。コンピューターがこの状態になる前に、スペースを解放しても速度は上がりません。断片化が問題になる可能性を単純に減らします。

断片化はSSDの読み取り速度にほとんど影響しないため、これは回転する機械式ハードドライブを搭載したコンピューターにのみ適用されます。


主なコアの問題にも対処する、わかりやすく簡潔な回答。
スミザーズ

4

フラッシュディスクは、満杯または断片化すると、明らかに遅くなる可能性がありますが、速度低下のメカニズムは物理ハードドライブで発生するメカニズムとは異なります。一般的なフラッシュメモリチップはいくつかの消去ブロックに分割され、各ブロックは多数(数千ではないにしても数百)の書き込みページで構成され、3つの主要な操作をサポートします。

  1. フラッシュページを読みます。
  2. 以前は空だったフラッシュページに書き込みます。
  3. ブロック上のすべてのフラッシュページを消去します。

理論的には、フラッシュドライブへの各書き込みでブロックからすべてのページを読み取り、バッファー内のページを変更し、ブロックを消去してから、フラッシュデバイスにバッファーを書き戻すことが可能ですが、そのようなアプローチは非常に重要ですスロー; また、消去が開始されてから書き戻しが完了するまでの間に電力が失われると、データが失われる可能性があります。さらに、ディスクの頻繁に書き込まれる部分は非常に急速に摩耗します。たとえば、FATの最初の128セクターが1つのフラッシュブロックに格納されている場合、これらのセクターすべてへの書き込みの総数が約100,000に達した後、ドライブは停止します。約16,384個のFATエントリを保持します。

上記のアプローチは恐ろしく機能するため、ドライブは空白ページを特定し、そこにデータを書き込み、問題の論理セクターがその場所に格納されているという事実を何らかの方法で記録します。十分な空白ページが利用可能である限り、この操作はすぐに続行できます。ただし、空白ページが不足した場合、ドライブは比較的「ライブ」ページを含むブロックを見つけ、それらのブロック内のライブページを残りの空白ページに移動し、古いコピーを「デッド"; そうすると、ドライブは「デッド」ページのみを含むブロックを消去できるようになります。

ドライブが半分しか満杯でない場合、ライブページで最大で半分満杯のブロックが少なくとも1つは確実に存在します(ほとんどまたはまったく含まれていないブロックがいくつか存在する可能性が高い)。各ブロックが256ページを保持し、最少ブロックが64のライブページを保持する場合(中程度に悪い場合)、要求された192セクターの書き込みごとに、ドライブは追加の64セクターコピーと1ブロックの消去を実行する必要があります(平均コスト各セクターの書き込みは、約1.34ページの書き込みと0.005ブロックの消去になります)。最悪の場合でも、128セクター書き込みごとに、128セクターの追加コピーとブロック消去が必要になります(2ページ書き込みと0.01ブロック消去の書き込みあたりの平均コスト)

ドライブの空き容量が99%で、空き容量が最も少ないブロックに248/256のライブページがある場合、8セクターの書き込みごとに248の追加ページ書き込みとブロック消去が必要になるため、書き込みあたりのコストは32ページ書き込みと0.125ブロックになります消去-非常に深刻な減速。

ドライブがどのくらいの「余分な」ストレージを持っているかによっては、物事がそんなに悪くなることを許さないかもしれません。それでも、ドライブが75%満杯になった時点でも、最悪の場合のパフォーマンスは、50%の満杯の場合の最悪のパフォーマンスの2倍を超える可能性があります。


3

あなたはほとんどそれを打ちました。SATA HDDは半二重通信メディアと見なすことができます(つまり、一度にデータの送受信のみが可能です。両方ではありません)。ドライブを長時間保持して、書き込み用の空き場所を探します。に、それはあなたにデータを読み取ることができません。経験則として、この理由でドライブの容量を80%以上にしないでください。いっぱいになればなるほど、ファイルを断片化する可能性が高くなり、読み取り要求中にドライブが拘束されます(したがって、書き込み要求がブロックされます)。

これらの問題を解決するためにできることがいくつかあります。

  • 保存したデータの量を減らし、ドライブを定期的に最適化します。
  • フラッシュベースのストレージに切り替えます。
  • バルクデータをOSとは別のドライブに保存してください。
  • などなど...

1
フラッシュを使用する場合、ドライブはほぼ同時に(両方ではなく)読み書きできます(SSDが通常ピコとナノ秒の領域で「シーク時間」を持っているHDDの9msはかなり標準的なシーク時間です)ディスク上の場所。 en.wikipedia.org/wiki/...
Nathanialミーク

7
継続的なポーリング2:これは$Bitmap、NTFS上のファイルやext4のビットマップアロケーターなどに使用されます。すなわち、この答えはいくつかの重大な誤報を広めています。3.多くの読み取りと書き込みのバッファリングとキャッシュが行われているため、この問題の多くが発生します。この答えは断片化の影響をいくらか説明しますが、それでも古いファイルシステムに限定されますが、それは確かに空き容量に関して正確ではありません。ディスク領域を解放しても、コンピューターの速度は上がりません。
ジェイソンC

4
@JasonC、あなたのコメントを答えに変えるべきです。
セロス

6
これは発生しません「したがって、ドライブが長時間書き込みを行うための空き場所を探していると、データを読み取ることができません」 -それはありません。それはファイルシステムの仕組みではありません。誤った情報の拡散を停止するには、回答を編集してください。
RomanSt

2
@NathanialMeekレイヤーを少しブレンドしています。:) SATAの半二重モードは、ワイヤ上でデータ一方向にのみ送信できることを意味します。高レベルの読み取りと書き込みは、SATAが指定した操作キュー内の小さなブロック(FISと呼ばれます)で行われます。それらは非同期にすることができ、オンボードキャッシュとの間で高速の読み取りと書き込みを行い、DMA経由でシステムメモリに直接送ることができます。SATAコントローラーは、効率を最適化するためにコマンドを自由に並べ替えることもできます。要点:物理操作が完了するまで回線はビジー状態に保たれず、SATAの半二重モードには期待どおりの効果がありません。
ジェイソンC

3

短くて甘いアプローチに従って、私の過度に単純化された答え(あなたの主な混乱に厳密に制限されています)は:

あなたの限り

  1. OSには、ページング/スワッピングなどの任務を果たすのに十分な(最悪の場合のシナリオのための)スペースがあります。
  2. 他のソフトウェアにも、それぞれのニーズに十分なスペースがあります。
  3. ハードディスクが最適化されています。

その後、80%の空のディスクと30%の空のディスクのパフォーマンスの違いを判断することはできません。また、新しいデータの保存以外のことを心配する必要はありません。

現在、使用可能なスペースが不足している可能性があるため、より多くのストレージを必要とする他のものはパフォーマンスの低下につながります。

もちろん、ツールを使用したディスククリーニングは次の目的で使用できます。

  1. 一時ファイルは定期的にクリーニングして、貴重なディスク容量を確保してください。
  2. 古いログファイルはスペースの無駄に過ぎません。
  3. インストール/アンインストールされたソフトウェアの残りは非常に厄介です。
  4. オンラインプライバシーを重視する場合は、Cookieをクリアする必要があります。
  5. 無効なショートカットなど

これらすべての(およびさらに多くの)理由は、適切なビットセットを見つけるときにOSを混乱させ続けるため、パフォーマンスの低下につながります。


まともな要約ですが、「BUT」セクションについてはあまりわかりません。特に:3)一般的なフリークアウトにもかかわらず、一般に目立ったパフォーマンスへの影響はありませんそれ以外の場合は重要ではありません。これは一般的なOSを「混乱させる」ものではありません。従う「ヒント」と「微調整」に十分注意してください。同様に、不要なクリーンアップツールにも注意してください。特に、レジストリクリーナーは、多くの場合、利益がゼロになるために危害を加える危険性があります。
ジェイソンC

2

言及していない回転ドライブへの影響の1つは、アクセス速度とデータ転送速度がディスクの異なる部分で異なることです。

ディスクは固定速度で回転します。ディスクの外側のトラックはより長いため、内側のトラックよりも多くのデータをトラックごとに保持できます。ドライブが最も外側のトラックから100 MB /秒を読み取ることができる場合、最も内側のトラックの速度は50 MB /秒未満になります。

同時に、最も内側のトラックの1 GBのデータよりも、ディスクの外側のトラックの1 GBのデータの方が少ないトラックがあります。したがって、平均して、外側に保存されたデータの場合、最も内側のトラックのデータよりも頭の動きが少なくて済みます。

可能な場合、OSは最も外側のトラックを使用しようとします。もちろん、ディスクがいっぱいの場合は不可能です。データを削除すると、転送速度が速いスペースが使用可能になり、処理が高速になります。同じ理由で、速度が必要な場合(手頃な価格の場合)は、必要以上に大きい回転するハードドライブを購入する必要があります。


追加:en.wikipedia.org/wiki/Zone_bit_recording、これはある程度詳細にヒットします。注目に値する:既存のデータは移動されません。これは新しいデータのストレージに影響する可能性があります(空き領域に直接ではなく、ドライブ上の場所に依存します)が、内部に書き込む前に喜んでアクセスされた既存のファイルを「遅く」しません。FWIW、私はアマゾンで見つけ安い1TB 7200RPM 3.5"ドライブは144メガバイト/秒のユーザーベンチマーク平均読み取り率を持っています。でも、内側と外側のトラック上の違いを占め、これはカジュアルな使用中にボトルネックではないかもしれない。
ジェイソン・C

シーケンシャルスループットに関する@JasonC I / Oパフォーマンスは、実際にはほとんど問題になりません。低速の4900 rpmドライブでも、ほとんどすべての個人ユーザーにとって十分に高速です。1秒あたりの読み取り/書き込み操作に関するI / Oパフォーマンスが、ほとんどの場合パフォーマンスを低下させます。気になるのであれば、マルチユーザーシステムでのローテーションストレージIOPSについて地元のお気に入りのシステム管理者に尋ねてください。それが、最近、実質的に誰もマルチユーザーシステム用の回転ストレージを展開していない大きな理由です。SSDのIOPSに近づくことさえできません。
CVn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.