web-dev-qa-db-ja.com

HDDやSSDの空き容量は?

非公式の(すなわち、ジャーナリズムの)技術プレス、およびオンライン技術のブログおよびディスカッションフォーラムでは、ハードディスクドライブまたはソリッドステートドライブにある程度のスペースを空けるための事例的なアドバイスがよくある。これにはさまざまな理由がありますが、まったく理由がない場合もあります。そのように、これらの主張は、実際にはおそらく合理的であるが、それらについて神話的な空気を持っている。例えば:

  • ディスクが80%いっぱいになったら、それらをいっぱいと見なして、すぐに削除するかアップグレードする必要があります。彼らが90%フルに当たった場合、あなたはあなた自身の個人的なズボンが実際の火事にあると考え、それを直すために適切な量の即時性に反応するべきです。 ( 出典 。)

  • ガベージコレクションの効率を最高に保つために、従来のアドバイスは、ドライブの20〜30パーセントを空にしておくことを目的としています。 ( 出典 。)

  • パフォーマンスを向上させるには、HDの空き容量を約20%にしておく必要があると言われました。 ( 出典 。)

  • スワップファイルと一時ファイル用のスペースを空ける必要があります。私は現在33%の空き容量を残しており、10GBの空き容量以下にならないことを誓います。 ( 出典 。)

  • あなたがあなたの一時ファイルとスワップファイルのために十分を持っている限り、私は典型的には15%と言っているでしょう、しかしどれほど大きなハードドライブが今では大丈夫ですか、技術的にあなたは安全です。 ( 出典 。)

  • あなたがそれを実行するときにドライブ上にそれほど多くの空きがない場合はデフラグが実行されないため、私はWindows上で10%プラスをお勧めします。 ( 出典 。)

  • あなたは一般的に断片化を避けるために約10%自由のままにしたいです( Source 。)

  • ドライブの空き容量が常に75〜80%を超えている場合は、より大きなSSDにアップグレードすることを検討する価値があります。 ( 出典 。)

オペレーティングシステム、ファイルシステム、およびストレージテクノロジの特定の組み合わせで必要とされる空き領域の割合または絶対量(磁気プラッタとソリッドステートなど)のいずれかについて、査読付きのジャーナルに掲載することをお勧めします。 (理想的には、そのような研究はまた、例えばシステムが スワップスペースを使い果たすのを防ぐために、使用されたスペースの特定の量を超えない理由を説明するでしょう または、パフォーマンスの低下を防ぐために)

あなたがそのような研究について知っているならば、あなたがそれへのリンクとその調査結果の短い要約で答えることができたら私は感謝するでしょう。ありがとうございます。

107
sampablokuper

できれば査読済みのジャーナルに掲載された研究はありますか[…]?

そのためには、システム管理などの20年以上前にさかのぼる必要があります。これは、少なくともパーソナルコンピューターとワークステーションのオペレーティングシステムの世界では、30年以上前のホットトピックでした。 BSDの人々がBerkeley Fast FileSystemを開発し、MicrosoftとIBMがHigh Performance FileSystemを開発していた時代。

作成者による両方の文献は、これらのファイルシステムがどのように編成されたのかを議論しているので、block allocation policyは連続するファイルブロックを連続させようとすることでパフォーマンスを向上させます。これについての議論、およびブロックを割り当てるために残された空き領域の量と場所が、主題に関する現代の記事でブロックの配置とパフォーマンスに影響するという事実を見つけることができます。

たとえば、Berkeley FFSのブロック割り当てアルゴリズムの説明から、現在のシリンダーグループとセカンダリシリンダーグループに空きスペースがなく、アルゴリズムが第4レベルのフォールバックに達した場合(「徹底的な検索を適用する」すべてのシリンダーグループに」ディスクブロックを割り当てるパフォーマンスが低下し、ファイルの断片化も低下します(したがって、読み取りパフォーマンスも低下します)。

過去30年間に受けた知恵は、これらの分析および類似の分析(当時のファイルシステム設計のレイアウトポリシーを改善することを目的とした唯一のファイルシステム設計とはほど遠い)です。

たとえば、FFSボリュームが90%未満に保たれ、作成者が行った実験に基づいてパフォーマンスが低下しないという元の論文の主張は、今世紀に出版されたUnixファイルシステムに関する本でさえ、無批判に繰り返されています (例:Pate2003 p。216)。これを疑問視する人はほとんどいませんが、Amir H. Majidimehrは実際にxeが実際に目立った効果を観察していないと言って、前世紀を実際に行いました。特に、最終的な10%をスーパーユーザー用に予約する慣習的なUnixメカニズムのためです。つまり、90%のディスクは、スーパーユーザー以外のユーザーにとっては100%になりますとにかく (Majidimehr1996 p。68)。ビルカルキンズもそうでした。彼は、実際には21世紀のディスクサイズで最大99%まで満たすことができると提案しています。まだ遊んで (Calkins2002 p.450)

この後者は、受け取った知恵がどのように間違ったものになるかを示す例です。この他の例があります。 論理ブロックアドレッシングおよびゾーンビット記録のSCSIおよびATAの世界と同様、回転レイテンシの慎重な計算はすべてウィンドウから捨てられました。 BSDファイルシステムの設計では、SSDの物理的な仕組みは、ウィンチェスターディスクに適用される知恵を受けたため、むしろ窓の外に捨てられました。

SSDでは、空き領域の量デバイス全体で、つまりディスク上のすべてのボリュームでおよびそれらの間は、パフォーマンスと寿命の両方に影響を及ぼします。また、ファイルを連続した論理ブロックアドレスを持つブロックに保存する必要があるという考えの基礎は、SSDには回転するプラッターやシークするヘッドがないという事実に基づいています。ルールが再び変更されます。

SSDの場合、推奨される最小空き容量は、実際には33年前のウィンチェスターディスクとバークレーFFSの実験から得られる従来の10%よりもmoreです。たとえば、Anand Lal Shimpiは25%を与えます。この違いは、これが空き領域でなければならないという事実によって悪化しますデバイス全体で、10%の数値は各FFSボリューム内であり、したがって、パーティションテーブルによって有効なディスクボリュームに割り当てられていないすべてのスペースをTRIMでパーティション分割プログラムが認識しているかどうか。

また、空きスペースをTRIMできるTRIM対応ファイルシステムドライバーなどの複雑さwithinディスクボリューム、およびSSDメーカー自身もalreadyを割り当てます予約済みスペースこれは、ガベージコレクションやウェアレベリングなどのさまざまな用途のために、デバイスから(ホストに対して)見えないことです。

書誌

10
JdeBP

私は「査読付きジャーナル」によって出版されている「研究」について話すことはできません - そして私は日々の仕事のためにそれらに頼る必要はありません - 私は何百もの制作の現実について話すことができます長年にわたるさまざまなOS下のサーバー

フルディスクがパフォーマンスを低下させる理由は3つあります。

  • 空き容量の枯渇:一時ファイル、アップデートなどを考えてください。
  • ファイルシステムの劣化:ほとんどのファイルシステムは、十分なスペースがない場合にファイルを最適にレイアウトする能力に問題があります。
  • ハードウェアレベルの低下:十分な空き容量がないSSDおよびSMRディスクでは、スループットが低下し、さらに悪い場合は待ち時間が増加します(場合によっては数桁)。

1つ目のポイントは簡単です。特に、ファイルを動的に拡大/縮小するときにスワップスペースを使用することはありません。

2番目のポイントはファイルシステムとワークロードの間で大きく異なります。ワークロードが混在するWindowsシステムでは、70%のしきい値が非常に便利です。大きなファイルが少ない(ビデオ放送システムなど)Linux ext4ファイルシステムの場合、これは最大90 +%に達する可能性があります。

3点目はハードウェアとファームウェアに依存しますが、特にSandforceコントローラを搭載したSSDは、書き込みが多いワークロードでのフリーブロック消去にフォールバックする可能性があり、書き込み待ち時間が数千パーセントも増加します。通常、パーティションレベルで25%の空き容量を残してから、80%未満のフィルレートを確認します。

おすすめ

私は最大充填率が強制されることを確認する方法をどのようにするかについて述べたことを理解しています。いくつかのランダムな考え、それらのどれも「査読」(有料、偽造、または本物)していませんでしたが、それらすべてはプロダクションシステムからのものです。

  • ファイルシステムの境界を使う:/varはルートファイルシステムに属しません。
  • モニタリング、モニタリング、モニタリングそれがあなたに合う場合は既製の解決策を使用し、それ以外の場合はdf -hの出力を解析して念のためアラームベルを解除します。これにより、自動アップグレードがインストールされ、autoremoveオプションなしで実行されているルートfs上の30カーネルからあなたを救うことができます。
  • Fsオーバーフローの潜在的な混乱を、そもそもそれを大きくするためのコストと比較して検討してください。組み込みデバイスを使用していない場合は、root用にそれらの4Gを2倍にすることができます。
49
Eugen Rieck

オペレーティングシステム、ファイルシステム、およびストレージテクノロジの特定の組み合わせによって必要とされる空き領域の割合または絶対量のいずれかについて...何らかの調査がありましたか?

システム管理の20年の間に、私はさまざまな構成の空き容量要件を詳述した研究に遭遇したことがありません。これは、コンピュータが非常に多様に構成されているために可能なシステム構成が非常に多いため、実行が困難になるためと考えられます。

システムに必要な空き容量を判断するには、2つの変数を考慮する必要があります。

  1. 不要な振る舞いを防ぐのに必要な最小スペースそれ自体が流動的な定義を持つ場合があります。

    この定義だけで必要な空き容量を定義するのは意味がないことに注意してください。衝突する直前までレンガの壁に向かって毎時80マイルを運転しても安全だと言うのと同じ意味です。

  2. ストレージが消費される割合。追加の可変容量を確保する必要があります。管理者が反応する前にシステムが劣化することはありません。

OS、ファイルシステム、基になるストレージアーキテクチャ、およびアプリケーションの動作、仮想メモリ構成などの特定の組み合わせによって、最終的な空き領域の要件を満たすことを望む人にとっては、非常に困難なことになります。

だからこそ、そこにはたくさんの「ナゲット」のアドバイスがあるのです。あなたは、それらの多くが特定の設定に関して推奨をしていることに気づくでしょう。たとえば、「容量に近づくとパフォーマンスの問題が発生するSSDがある場合は、空き容量の20%を超えないようにしてください」

この質問に対する簡単な答えはありませんので、yoursystemの最小空き容量の要件を特定する正しい方法は、ご使用のシステムの特定の構成を考慮してさまざまな一般的な推奨事項を検討することです。それからしきい値を設定し、それを監視し、そして必要に応じてそれを調整しても構わないと思っています。

または、20%以上の空き容量を確保することもできます。当然のことながら、42 TB RAID 6ボリュームがある場合を除きます。 SSDと従来のハードディスク、そして事前に割り当てられたスワップファイルの組み合わせ...(これは真面目な人々にとっては冗談です)

29

もちろん、ドライブ自体(HDDでもSSDでも)では、SSDが事前に空きスペースを消去できることを除けば、使用中のドライブのパーセント数についてそれほど気にすることはできません。読み取りパフォーマンスはまったく同じですが、SSDでは書き込みパフォーマンスが多少悪くなる可能性があります。とにかく、書き込みのパフォーマンスは、何も書き込むスペースがないため、ほぼフルドライブではそれほど重要ではありません。

その一方であなたのOS、ファイルシステムとアプリケーションはあなたが常に利用可能な空き容量を持っていることを期待するでしょう。 20年前は、ファイルをそこに保存しようとする前に、アプリケーションがドライブの空き容量を確認するのが一般的でした。今日、アプリケーションはあなたの許可を求めずに一時ファイルを作成しています。そして、そうしないとクラッシュするか、あるいはふらついて振る舞います。

ファイルシステムにも同様の期待があります。たとえば、NTFSはMFTのためにあなたのディスクの大きな塊を予約していますが、それでもあなたにこのスペースを空きとして示しています。 NTFSディスクをその容量の80%以上にすると、 MFTフラグメンテーション になります。実際のパフォーマンスへの影響.

さらに、空き容量があると、通常のファイルの断片化を防ぐのに役立ちます。ファイルシステムは、サイズに応じて各ファイルに適切な場所を見つけることで、ファイルの断片化を回避する傾向があります。充填量が近いディスクでは、選択肢が少なくなるため、選択肢を少なくする必要があります。

Windowsでは、スワップファイル用に十分なディスク容量が必要です。これは必要に応じて拡大することがあります。それができない場合は、アプリが強制的に閉じられることを期待するべきです。スワップスペースが非常に少ないと、実際に パフォーマンスが低下する可能性があります

スワップのサイズが固定されていても、システムは起動時にディスクに書き込めると期待しているため、システムのディスク領域が完全になくなるとシステムがクラッシュしたり起動できなくなったりします。だから、はい、ディスク使用量の90%を押すとあなたはあなたの塗料が燃えていると考えるようになるはずです。 OSにディスク容量を少なくするために最近のダウンロードが削除されるまで、コンピュータが正常に起動しないのを見たことがありません。

11

「規則」は要件によって異なります。たとえば、ZFSのように、特殊なケースがあります。「容量が90%になると、ZFSはパフォーマンスベースからスペースベースの最適化に切り替わります。これは、パフォーマンスに大きな影響を与えます。」はい、これはZFSのデザインの側面です...観察や逸話の証拠から得られるものではありません。 ZFSストレージプールがSSDのみで構成されている場合は、これはあまり問題になりません。しかし、回転するディスクでも、静的ストレージを扱うときには99%または100%に達することができ、最高のパフォーマンスを必要としません。安全が優先事項1です。

次に、btrfs - 極端な場合:空き容量が少なくなりすぎると(数MB)、ノーリターンになる可能性があります。いいえ、できませんので、ファイルを削除することはできません。単にファイルを削除するための十分なスペースがありません。 btrfsはCOW(コピーオンライト)ファイルシステムであり、メタデータをこれ以上変更できなくなることがあります。この時点で、ファイルシステムにストレージを追加することができ(USBメモリが動作する可能性があります)、拡張ファイルシステムからファイルを削除し、ファイルシステムを縮小して追加ストレージを再度削除することができます。繰り返しますが、これはファイルシステムの設計によって引き起こされる側面です。

あなたに「本当の(深刻な)データ」を与えることができる人々は、おそらく「本当の(深刻な)記憶装置」を扱う人々です。 Twistyの(優秀な)答えは、管理者がアクセスする速度が最大の制限要因となる企業環境で運用されるハイブリッドアレイ(大量の安価な低速回転ディスク、多数の高速回転ディスク、多数のSSDからなる)に言及しています。アップグレードを注文することができます。 16Tから35Tへの移行には6か月かかることがあります。したがって、アラームを50%に設定することをお勧めする真剣にサポートされたレポートが表示されます。

8
Klaws

SSDの場合、書き換え速度が上がり、ディスクの書き込みパフォーマンスに悪影響を及ぼすため、いくらかのスペースが残っているはずです。 80%フルは、おそらくすべてのSSDディスクにとって安全な値です。最新のモデルの中には、90〜95%の占有容量でも正常に動作するものがあります。

https://www.howtogeek.com/165542/why-solid-state-drives-slow-down-as-you-fill-them-up/

8
Jaroslav Kucera

非常にセットアップ特有の量で結果に貢献する多くの、多くの要因があります。それで、絶対的な数はありません、これはそれらのパラメータの関数として測定されることができるだけです。 (それが他のユーザーがこの特定の主題に関する特別な研究を報告していない理由 - おそらく決定的なものを編集するには多すぎる変数です)

  • ハードウェア

    • HDDには常にすべてのセクタが割り当てられています。そのため、現在のユーザーデータがいくつ含まれているかはまったく問題ではありません。 (コントローラーの場合、すべてのセクターには常に何らかのデータが含まれています。指示に従って、単に読み取りと上書きを行います。)
    • 一方、SSDのコントローラは、ファイルシステムと同じように、そのセクタを動的に(非)割り当てます。これはこの仕事をより高い用法で難しくします。それがどれほど難しいか、そしてこれが観測可能なパフォーマンスにどれほど影響を与えるかは、以下に左右されます
      • コントローラの性能とアルゴリズムの品質
      • 書き込み負荷
      • ある程度まで、全体的な負荷(コントローラーにガベージコレクションの時間を与えるため)
      • スペースのオーバープロビジョニング(一部の製造業者は顧客にそれを予約注文するか動的に変更させることさえ可能にする)
  • ファイルシステム

    • さまざまなファイルシステムは、さまざまな負荷やホスト処理要件に合わせて設計されています。これはフォーマットパラメータによってある程度調整できます。
    • FSの書き込みパフォーマンスは空き領域と断片化の関数であり、読み取りパフォーマンスは断片化のみの関数です。それは最初から徐々に劣化するので、問題はあなたの許容限界がどこにあるかということです。
  • 荷重タイプ

    • 書き込み負荷が高い場合は、新しい空きブロックをすばやく見つけてアクセスすることを重視します。
    • 読み込みが重い負荷では、関連データを統合してオーバーヘッドを少なくして読み込むことができます。
4
ivan_pozdeev

これはドライブの使用目的によって異なりますが、一般的にディスクの回転には20%から15%の空き容量が、SSDには10%以上の容量が適しています。

これがコンピュータのメインドライブであり、ファイルを移動することができる場合、20%の空き容量が大幅な減少を防ぐはずです。これにより、必要に応じてデータを移動およびコピーするためにドライブ全体に十分な空きスペースが確保されます。空き領域が元のデータに近い場合は回転するドライブが最も効果的ですが、SSDでは物理的な位置は日々のパフォーマンスに影響しません。そのため、純粋にパフォーマンス上の理由から、回転するドライブにはより多くの空き容量が必要です。 SSDでは、空き容量が少なくなるとドライブの寿命が短くなりますが、パフォーマンスは低下しません。 SSDは一時的なデータとランダムなダウンロードファイルを使用頻度の低い場所に保存して、ドライブ全体のセル使用量のバランスをとるようにします。それ以外の場合、ドライブの一部は他の部分よりもはるかに早くエージングします。新しいSSDの中には、空き領域が移動するようにファイルをインテリジェントに並べ替えることができるものもありますが、古いドライブではこれができない場合があります。

これがメディアまたは長期記憶ドライブであれば、5%から10%の空き容量で十分であるはずで、回転ディスクであれば10%が好ましいでしょう。このドライブではデータの移動が必要になることはほとんどないため、空き容量はそれほど必要ありません。そのため、パフォーマンスはそれほど大きな要因ではありません。空き領域は、主に不良セクタを破棄して置き換えたり、ファイルをより連続したものにしたりするのに役立ちます。

非常に良い、明確な理由がない限り、私は1日以上95%の容量を超えてドライブをプッシュすることはしません。

3
user3685427

メカニカルドライブで考慮すべきことの1つは、外側のEdgeのスループットが内側のものより高いということです。これは、外側のより大きな円周について、1回転あたりのセクター数が多いためです。

ドライブが容量に達すると、低速の内部セクターしか使用できなくなるため、パフォーマンスが低下します。

より詳細な分析については、 https://superuser.com/a/643634 を参照してください。

3
Wes Toleman