HDDやSSDの空き容量はどれくらいにする?

技術系専門誌やオンライン技術系ブログ、ディスカッションフォーラムでは、ハードディスクやソリッドステートドライブにある程度の空き容量を確保するようにという逸話をよく見かけます。その理由はさまざまで、まったく理由がない場合もあります。そのため、これらの主張は、実際には合理的であるにもかかわらず、神話のような雰囲気があります。例えば、こんな感じです:

  • ディスクの容量が80%になったら、満杯と考えるべきで、すぐに削除するかアップグレードすべきです。もし、ディスクの容量が90%になったら、自分のパンツに火がついたと考えるべきで、それを改善するために適切な量の即時性をもって対応すべきです。(出典)。

  • ガベージコレクションを最高の効率で維持するために、伝統的なアドバイスは、ドライブの20〜30%を空に保つことを目的としています。 (ソース)

  • 私は、より良いパフォーマンスのためにHD上で約20%の空きを残すべきだと言われました、HDはそれがフルに近いときに本当に遅くなること。(ソース)。

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

  • しかし、ハードディスクの容量が大きいので、一時ファイルやスワップファイルの容量があれば、技術的には安全です。(出典)

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

  • 一般的には断片化を避けるために10%程度の空き容量を残しておきたい(出典.)

  • ドライブが常に75または80%以上埋まっている場合、より大きなSSDへのアップグレードは検討する価値があります。(出典)。

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

もし、そのような研究をご存知でしたら、その研究へのリンクと研究結果の簡単な要約を添えてお答えいただけるとありがたいです。ありがとうございます!

質問へのコメント (18)

査読付き雑誌に掲載されるような研究については語れませんが、日々の業務で査読付き雑誌に頼ることは避けたいので、長年にわたってさまざまなOSのもとで数百台のプロダクションサーバーを使用してきた現実については語ることができます:

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

  • 空き容量不足:空き容量の不足:テンポラリファイルやアップデートを考えてみてください。
  • ファイルシステムの劣化:ファイルシステムの劣化:十分な空き容量がない場合、ほとんどのファイルシステムはファイルを最適に配置することができません。
  • ハードウェアレベルの劣化:十分な空き容量がないSSDやSMRディスクは、スループットが低下し、さらに悪いことにレイテンシが増加します(時には何桁も増加することもあります)。

特に、まともな生産システムでは、動的にファイルを拡大・縮小する際にスワップ領域を使用することはないため、最初の点は些細なことです。

2つ目のポイントは、ファイルシステムとワークロードによって大きく異なる。作業負荷が混在するWindowsシステムでは、70%の閾値はかなり使えることがわかります。Linuxのext4ファイルシステムで、ファイル数は少ないが大きなファイル(ビデオ放送システムなど)がある場合は、90%以上になるかもしれません。

3つ目のポイントは、ハードウェアやファームウェアに依存しますが、特にSandforceコントローラを搭載したSSDでは、書き込みが多い場合にフリーブロック消去が後退し、書き込み遅延が数千パーセントも増加することがあります。私たちは通常、パーティションレベルで25%の空き容量を確保し、80%以下のフィルレートを観察しています。

推奨事項

最大フィルレートが強制されることを確認する方法について述べたと思いますが、いかがでしょうか。いくつかのランダムな考えは、どれもピアレビュー(有料、捏造、本物)ではなく、すべて実稼働システムからのものです。

  • ファイルシステムの境界を利用する:/var`はルートファイルシステムに属さない。
  • 監視、監視、監視。そうでなければ、df -h の出力を解析して、万が一に備えて警報ベルを鳴らすようにしましょう。これは、自動アップグレードがインストールされ、autoremoveオプションなしで実行されているルートfs上の30カーネルからあなたを救うことができます。
  • fsのオーバーフローがもたらす潜在的な混乱と、それを最初に大きくするコストとを天秤にかけてみてください:組み込み機器でない場合は、rootの4Gを2倍にするだけかもしれません。
解説 (14)

オペレーティングシステム、ファイルシステム、ストレージ技術の特定の組み合わせで必要とされる空き容量の割合や絶対量について、何か研究はされていますか。

20年間システム管理に携わってきましたが、様々な構成の空き容量について詳しく説明した研究結果はありません。これは、コンピュータがあまりにも多様に構成されているため、可能なシステム構成の数が多すぎて、研究することが困難だからだと思います。

システムが必要とする空き容量を決定するためには、2つの変数を考慮する必要があります:

1.**1.不要な動作を防ぐために必要な最小限のスペース、2.これ自体、定義が流動的である。

この定義だけで必要な自由空間を定義するのは、レンガの壁に向かって時速80マイルで走っても、壁にぶつかる直前まで安全だと言っているのと同じであり、役に立たないことに注意してください。

2.2.ストレージが消費される速度、管理者が反応する時間がないうちにシステムが劣化しないように、追加の可変量のスペースを予約することを指示する。

OS、ファイルシステム、基礎となるストレージアーキテクチャ、アプリケーションの動作、仮想メモリの構成などの特定の組み合わせは、明確な空き容量要件を提供しようとするものにとって、かなりの挑戦となる。

そのため、世の中には多くのアドバイスが存在するのです。これらのアドバイスの多くは、特定の構成について推奨していることにお気づきでしょうか。たとえば、「容量が近くなるとパフォーマンスに問題が生じるSSDを使用している場合は、空き容量を20%以上にすること」といったことです;

この質問に対する単純な答えはないため、システムの最小空き容量要件を特定するための正しいアプローチは、システム固有の構成に照らしてさまざまな一般的な推奨事項を検討し、閾値を設定してそれを監視し、必要に応じてそれを調整することである。

**SSDと従来のハードディスクを組み合わせた42TBのRAID 6ボリュームと、あらかじめ割り当てられたスワップファイルがあれば別ですが...(真面目な人向けのジョークです)。

解説 (4)

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

一方、OS、ファイルシステム、アプリケーションでは、いつでも空き容量を利用できることが期待されます。 20年前は、ファイルを保存する前に、アプリケーションがドライブにどのくらいのスペースがあるかを確認するのが一般的でした。 今日、アプリケーションは許可を求めることなく一時ファイルを作成し、通常、クラッシュしたり、エラーが発生したりすると不規則に動作します。

ファイルシステムにも同様の期待があります。 たとえば、NTFSはMFT用にディスクの大きなチャンクを予約しますが、このスペースを空きとして表示します。 NTFSディスクをその容量の80%を超えて充填すると、[ MFTフラグメンテーション](https://superuser.com/questions/316003/how-do-you-defragment-the-mft-on -an-ntfs-disk)パフォーマンスに非常に現実的な影響を与えます。

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

Windowsでは、スワップファイルに十分なディスク容量があり、必要に応じて拡張できることが期待されます。 できない場合は、アプリが強制的に閉じられることを期待する必要があります。 スワップスペースがほとんどない場合は、実際にworsenパフォーマンスを実行できます。

スワップのサイズが固定されている場合でも、システムディスク領域を完全に使い果たすと、システムがクラッシュしたり、起動できなくなったりする可能性があります(WindowsとLinuxも同様です)。起動時にOSがディスクに書き込むことができるためです。 したがって、はい、ディスク使用量の90%を押すと、塗料が燃えていると見なされます。 最近のダウンロードが削除されてOSに小さなディスク容量を与えるまで、コンピューターが適切に起動できなかったのを見たことはありません。

解説 (0)
ソリューション

研究があり、できれば査読付きジャーナル[& hellip;]に掲載されていることが望ましい?

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

作成者による両方に関する文献では、これらのファイルシステムが編成され、_block割り当てポリシー_が連続するファイルブロックを隣接させることにより、より良いパフォーマンスをもたらした方法について議論しています。 これと、ブロックを割り当てるために残された空きスペースの量と場所がブロックの配置、つまりパフォーマンスに影響を与えるという事実についての議論は、この主題に関する現代の記事で見つけることができます。

それはかなり明白でなければなりません。, 例えば。, Berkeley FFSのブロック割り当てアルゴリズムの説明から、現在のシリンダーとセカンダリシリンダーグループに空きスペースがなく、アルゴリズムが4番目のレベルのフォールバックに達する場合。 (&quot。;すべてのシリンダーグループとクォートに徹底的な検索を適用します。; ディスクのブロックを割り当てるパフォーマンスは、ファイルの断片化と同様に低下します。 (したがって、パフォーマンスを読み取ります。).

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

例:作成者が行った実験に基づいて、FFSボリュームが90%未満に保たれるように元の論文の口述は、今世紀発行されたUnixファイルシステムに関する本でも批判的に繰り返されていることがわかります(例:. Pate2003 p。 216)< / sup>。 これに疑問を抱く人はほとんどいません。, アミール・H・マジディメールは実際に前の世紀を行いましたが。, xeは実際には顕著な影響を観察していないと述べています。; 特に、スーパーユーザーが使用するために最後の10%を予約する通常のUnixメカニズムのためです。, つまり、90%フルディスクは、非スーパーユーザーの場合、事実上100%フルですとにかく&lt。;sup&gt。;Majidimehr1996 p。 68)< / sup>。 ビル・カルキンスもそうでした。, 実際には最大99%まで満たすことができると誰が示唆していますか。, 21世紀のディスクサイズ。, &lt。でプレイするには、断片化されていない空きスペースをたくさん残すには、最新のサイズのディスクの1%でも十分であるため、低空きスペースのパフォーマンス効果を観察する前。;sup&gt。;Calkins2002 p。 450)< / sup>。

この後者は、受け取られた知恵がどのように間違ってしまうかの例です。 これには他の例があります。 _logicalブロックaddressing_と_zonedビットrecording_のSCSIとATAの世界が、BSDファイルシステム設計における_rotational latency_の注意深い計算のすべてをウィンドウから投げ出したのと同じように。, したがって、SSDの物理メカニズムは、ウィンチェスターディスクに適用される知恵を受け取った空きスペースを窓から投げ出します。

SSDを使用すると、デバイス全体の空きスペースの量_つまり. ディスク上のすべてのボリューム全体で、それらの間のボリュームは、パフォーマンスとライフタイムの両方に影響します。 また、ファイルを隣接する論理ブロックアドレスを持つブロックに保存する必要があるという考えの根拠は、SSDには回転するプラッターがなく、検索する頭がないという事実によって損なわれています。 ルールは再び変わります。

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

また、ディスクボリューム内で空きスペースをTRIMできるTRIM対応ファイルシステムドライバーなどの複雑さ、およびSSDメーカー自身が、デバイスの外側にも見えないさまざまな程度の_予約済みスペース_をすでに割り当てているという事実(つまり、. ホストへ)ガベージコレクションや摩耗レベリングなどのさまざまな用途。

参考文献。

マーシャルK.マッキーシック、ウィリアムN.ジョイ、サミュエルJ.レフラー、ロバートS.ファブリー(1984-08)。 UNIXの高速ファイルシステム。 コンピュータシステムでのACMトランザクション。 第2巻第3号。 pp.181& ndash; 197。 cornell.eduにアーカイブ。 ロイ・ダンカン(1989-09)。 新しい高性能ファイルシステムの設計と実装Microsoft Systems Journal。 第4巻第5号。 pp。 1& ndash; 13。 wisc.eduでアーカイブ。 *マーシャルカークマックシック、キースボスティック、マイケルJ.カレルス、ジョンS.クォーターマン(1996-04-30)。 「バークレー高速ファイルシステム」。 4.4 BSDオペレーティングシステムの設計と実装。 Addison-Wesley Professional。 ISBN 0201549794。

解説 (1)

「ルール」は要件によって異なります。 また、ZFSなどの特別なケースがあります。「90%の容量で、ZFSはパフォーマンスベースからスペースベースの最適化に切り替わり、パフォーマンスに大きな影響を与えます。"。 はい、これはZFSのデザインの側面です。観察または事例証拠によって得られたものではありません。 明らかに、ZFSストレージプールがSSDのみで構成されている場合、これはそれほど問題ではありません。 ただし、回転ディスクを使用した場合でも、静的ストレージを処理すると99%または100%に喜んで到達でき、一流のパフォーマンスは必要ありません。たとえば、個人的なお気に入りの映画コレクションで、決して変更されません。安全が優先される場所1。

次に、btrfs-極端なケース:空きスペースが低すぎる(数MByte)場合、ノーリターンのポイントに到達できます。 いいえ、削除できないので、ファイルを削除することはできません。 ファイルを削除するのに十分なスペースがないだけです。 btrfsはCOW(コピーオンライト)ファイルシステムであり、メタデータを変更できなくなるポイントに到達できます。 この時点で、ファイルシステムに追加のストレージを追加できます(USBサムドライブが機能する可能性があります)。次に、拡張ファイルシステムからファイルを削除し、ファイルシステムを縮小して、追加のストレージを再度削除します)。 繰り返しますが、これはファイルシステムの design によって引き起こされるいくつかの側面です。

「実際の(深刻な)データ」を提供できる人は、おそらく「実際の(深刻な)ストレージ」を扱う人です。 Twistyの(優れた)回答は、ハイブリッドアレイ(大量の安価なスロースピニング、多くの高速スピニングディスク、多くのSSDで構成されています)について言及しています。..)主な制限要因が管理者がアップグレードを注文できる速度である企業環境で運用されているもの。 16Tから35Tに移動するには6か月かかります。..soは、アラームを50%に設定することを提案する真剣に裏付けられたレポートになります。

解説 (1)

SSDの場合、書き換え速度が速くなり、ディスクの書き込み性能に悪影響を及ぼすため、ある程度の容量が残っている必要があります。80%フルというのは、おそらくすべてのSSDディスクで安全な値であり、最新のモデルでは90~95%の占有率でも問題なく動作する場合があります。

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

解説 (3)

非常にセットアップ固有の量をもたらす結果に寄与する多くの要因があります。 したがって、ハードアンドファストの数はありません。これは、これらのパラメーターの関数としてのみ測定できます。 (おそらく、他のユーザーがこの特定の主題に関する特定の研究を報告していない理由です-決定的なものをコンパイルするには変数が多すぎます。)。

*ハードウェア。

  • HDDには、すべてのセクターが常に割り当てられています。 そのため、現在のユーザーデータが含まれているユーザーの数はまったく関係ありません。 (コントローラーの場合、すべてのセクターには常にいくつかのデータが含まれていますが、指示どおりにデータを読み取って上書きするだけです。)。 一方、SSDのコントローラーは、ファイルシステムと同様に、セクターを動的に(de)割り当てます。 これにより、より高い使用法でこの仕事が難しくなります。 それがどれほど難しく、これが観測可能なパフォーマンスにどの程度影響するかは、以下に依存します。 コントローラーのパフォーマンスとアルゴリズムの品質。 書き込みロード。 文字の範囲で、全体的な負荷(コントローラーにガベージコレクションの時間を与えるため)。 *スペースの過剰供給(一部のメーカーでは、顧客が事前注文を選択したり、動的に変更したりすることさえできます)。

ファイルシステム。 さまざまなファイルシステムは、さまざまな負荷とホスト処理要件に合わせて設計されています。 これは、フォーマットパラメーターによってある程度調整できます。

  • FS書き込みパフォーマンスは空きスペースと断片化の関数であり、読み取りパフォーマンスは断片化のみの関数です。 当初から徐々に劣化するため、問題は許容しきい値がどこにあるかです。

ロードタイプ。 書き込みの多い負荷は、新しい無料のブロックをすばやく見つけてアクセスすることを強調します。 *読み取り負荷は、関連データの統合を強調しているため、オーバーヘッドを減らして読み取ることができます。

解説 (0)

メカニカルドライブで考慮すべきことの1つは、外縁のスループットが内側よりも高いことです。 これは、外側の範囲が大きいほど、革命ごとにセクターが増えるためです。

ドライブが容量に達すると、遅い内部セクターのみが利用可能になるため、パフォーマンスが低下します。

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

解説 (3)

ドライブの使用目的に依存しますが、一般に20%から15%の空きスペースは回転ディスクに適した答えであり、10%以上はSSDに適しています。

これがコンピューターのメインドライブであり、ファイルが移動される可能性がある場合は、20%の空き容量により大幅な速度低下を防ぐことができます。 これにより、ドライブ全体に十分なオープンスペースがあり、必要に応じてデータを移動してコピーできます。 回転するドライブは、空いている場所が元のデータに近い場合に最適に機能しますが、SSDでは、物理的な場所は毎日のパフォーマンスに影響を与えません。 したがって、純粋にパフォーマンスの理由から、回転するドライブにはより多くの空き容量が必要です。 SSDでは、空きスペースが減少するとドライブの寿命が短くなりますが、パフォーマンスは低下しません。 SSDは、一時データとランダムダウンロードファイルを最も使用されていない場所に保存して、ドライブ全体でセルの使用量のバランスをとれるようにしています。そうしないと、ドライブの一部が残りのドライブよりもはるかに速く老化します。 一部の新しいSSDは、空のスペースが移動するようにファイルをインテリジェントに再配置する場合がありますが、古いドライブではこれができない場合があります。

これがメディアまたは長期ストレージドライブの場合、5%から10%の空き容量で十分であり、回転ディスクである場合は10%が望ましいでしょう。 このドライブではデータを移動する必要がほとんどないため、それほど多くの空きスペースは必要ありません。そのため、パフォーマンスはそれほど重要ではありません。 フリースペースは、主に不良セクターを破棄して置き換えることができ、ファイルをより隣接させるために役立ちます。

非常に明確で明確な理由がない限り、1日以上95%の容量を超えるドライブを押しません。

解説 (0)