SSDでページファイルを無効にする必要がありますか?


26

私はこの質問を読んでいますが、多くの素晴らしい情報があります。

しかし、十分なRAMがあると仮定すると、SSDでページファイルを無効にして寿命を延ばす必要があると思います。クラッシュするとコアダンプが失われることはわかっていますが、その情報を必要とする人は多くありません。

私の理解では、ページファイルがなくても、RAMの制限に達すると、ディスクでスラッシングが発生する可能性があります。しかし、SSDにはスラッシングの概念はなく、読み取りは高速です。

皆さんはどう思いますか?


そのままにしておきます。Moderns SSDは長続きするはずです。storagesearch.com/ssdmyths-endurance.htmlを参照してください。
マット

1
また、ワークロードがサーバーに適している場合は、とにかくディスクにページングすることはほとんどありません(それが有益な場合のみページングします)。先月だけでも、サーバーは平均して1か月で約100ページのイン/アウトしか行いませんでした。
マシューイフェ

回答:


22

しかし、十分なRAMがあると仮定すると、SSDでページファイルを無効にして寿命を延ばす必要があると思います。クラッシュするとコアダンプが失われますが、その情報を必要とする人は多くありません

これは、時期尚早な最適化のように聞こえます。使用する予定のSSDについては説明していないため、サーバーのワークロードと計画されているSSDデータシートを実際に確認しないと、ページファイルがSSDの寿命にどのような影響を与えるかについてはわかりません。

また、インターネットとここのサーバー障害の両方で、SSDの寿命が短いという大量の誤った情報があります。初期のモデルのSSDには問題があり、USBフラッシュドライブは間違いなく劣化し始めますが、エンタープライズクラスのSSDにははるかに優れたウェアレベリングアルゴリズムがあり、スペアフラッシュを使用してパフォーマンスと摩耗を改善するものもあります。

たとえば、Intel X25-Eドライブは、32 GBドライブに対して1ペタバイトのランダム書き込みの書き込み期間を要求します。書き込みインターフェイス(200 MB /秒)をノンストップで上書きしている場合、上書きすると、約58日間続くと推定されます。しかし、そのドライブには1日あたり17 TBのデータが書き込まれます。

OSファイルの典型的なサーバーワークロードは、ページファイルがある場合でも、はるかに少なくなります。1日あたり50 GBと呼びます。1 PBの数値が正確な場合(そして、それが平均的な数値と見なされる可能性があることはわかっていますが、後で詳しく説明します)、それはまだ50年のどこか北です。

もちろん、これらの数字は途方もなく高いように見えるので、ドライブの予想される寿命についてインテルが引用した実際の数字を見てみましょう。Intelは、MLC(非エンタープライズ)ドライブが5年間毎日100 GBのデータを書き込むように認定しました。SLC対MLCフラッシュの標準的な理解では、SLCフラッシュはMLCの約10倍の長さです(上記のリンクも同様にグラフで示しています)。

もちろん、真実は時間によって裏付けられます-ドライブが早期に故障するのを見るか、そうでないかのどちらかです。しかし、ドライブの背後にある数字は、ドライブの寿命を延ばしまともな品質のSSD ではまったく問題になりません。

MLC SSDを使用している場合、おそらく心配するのは正しいでしょう。ただし、Intelがドライブを5年間100 GB /日で評価しても、10年間で50 GB /日と基本的に同じであることに注意してください。そして、元のポイントに戻って、ドライブで実際にどのような作業を行うのかを知る必要があります。

個人的には、実稼働サーバー環境ではMLC SSDを使用しないことを強くお勧めします。まともなSLC SSDが高すぎる場合は、とりあえず回転ディスクに固執してください。

(余談ですが、「SLCはMLCの10倍の長さ」評価である50年間、1日あたり100 GBと数字を入力すると、Intelは32 GBドライブの書き込み寿命が実際にあると言っているようです。製品仕様で引用されている1 PBではなく、2 PBに近いデータです。たとえX25-Eドライブが10年以上北に続くことを喜んでいると、これら2つの値のうち小さい方だけを信頼しても。


MLC SSDの使用に関する私の声明を修正すると思います。これらはエンタープライズでの使用に十分なようです。SLC SSDを使用する大手ベンダーの1社が、SLCの範囲をMLCフラッシュとよりスマートなコントローラーに置き換えていると聞いています。
ダニエルローソン

15

ダニエル・ローソンが言及しているように、おそらく長寿が問題ではないことに加えて、MSチーム自身からのフィードバック(以下)を考慮してください。

  1. とにかく必要な場合にのみページファイルが使用されます
  2. ページファイル使用している場合、SSD上にあるのと回転するハードドライブ上にあるのとで大きな違いが生じます。

ページファイルをSSDに配置する必要がありますか?

はい。ほとんどのページファイル操作は、小さなランダム読み取りまたは大きな順次書き込みであり、どちらもSSDが適切​​に処理する操作の種類です。

数千のトレースからのテレメトリデータを見て、ページファイルの読み取りと書き込みに焦点を当てると、

  • Pagefile.sysの読み取り回数pagefile.sysの書き込み回数は約40対1
  • Pagefile.sysの読み取りサイズは通常非常に小さく、67%が4 KB以下、88%が16 KB未満です。
  • Pagefile.sysの書き込みは比較的大きく、62%が128 KB以上、45%がちょうど1 MBのサイズです。実際、典型的なページファイル参照パターンと、SSDがそれらのパターンにもたらす好ましいパフォーマンス特性を考えると、SSD に配置するページファイルよりも優れたファイルはほとんどありません。

ソリッドステートドライブ(MSDN)のサポートとQ&A


9

ページファイルを完全に無効にするのではなく、OSにページファイルを使用しないように指示すると便利です(たとえば、sysctl vm.swappiness=0)。

OSは必要な場合を除き、SSDの不要な書き込みを節約します。


4
それは素晴らしいことです。Windowsにそのような調整はありますか?
解熱2009年

よくわかりませんが、ページファイルのサイズを最小(2MB)に設定し、それを拡大することで、エミュレートできる場合があります。
MikeyB 2009年

5

ページファイルは常に有効にしておきます。OSやアプリの特定の部分は、そこにあると予想されるように記述されている場合があり、存在しない場合は誤動作する可能性があります。

そうは言っても、私は過去にページファイルなしでWindows(XP)を実行しましたが、投げたものすべてに完全に満足しています。気に入らない何かがやってくるとはいえ、常に微妙な疑問がありました。

オプションとして、非常に小さく設定することもできます。


アプリがRAMまたはスワップを使用しているかどうかを検出できるとは思わない。それでは、どうしてそれが重要なのでしょうか?
パイロリスティカル2009年

OSは、仮想メモリが有効になるように調整されました。SSDに問題があるか、そうだと思います-繰り返し書き込みの問題があり、仮想メモリがそれを行うと言っていることをたくさん読みました。ページファイル/スワップを適切なディスクに配置できませんか?(もちろん、直感に反するようです...)
カイルホジソン

OSがページファイルがあると想定するのはなぜですか?Linuxは確かにない、と私はWindowsがないと信じる理由が見たことがない、どちらか
Mikeage

2
ここではWindowsのを信じる理由はないです:blogs.msdn.com/ericlippert/archive/2009/06/08/...
DMO

3

これはOPに直接反応しませんが、ロナルドとダニエルによる上記の回答/コメントの誤った印象を修正したかったのです。(私は新しいので、コメントするのに十分なポイントがありません。)

実際、TRIMはSSDの寿命を延ばすためにできる最大のことです。その理由は次のとおりです。SSDは定期的に「ガベージコレクト」-部分的に空の消去ブロックから(断片化された)データをコピーし、新しく消去されたブロックに連続して書き込みます。

ホストがこれを意識する必要がないように、アドレスは再マッピングされます。ホストの書き込みに直接関連付けられていないこの追加の書き込みアクティビティは、「書き込み増幅」と呼ばれます。少量のオーバープロビジョニング(隠されたスペア)スペースを備えた完全にフルSSDの最悪の場合、書き込み増幅はホスト書き込み速度の500%から700%の範囲に容易になります!

ガベージコレクション中、SSDは無効化(上書きまたはTRIM処理)されたページのコピーと書き換えを行わず、潜在的に大量の作業と書き込みアクティビティを節約します。ファイルシステムが大きなファイルを消去しても、TRIMを介してドライブに通知しない場合、ドライブは消去されたデータをコピーし続け、書き込みを無期限に(またはそれらのブロックアドレスが他のファイルに割り当てられるまで)長い時間になる可能性があります)。

要約すると、TRIMは寿命とパフォーマンスの両方にとって本当に重要です。


2

リンクした他の投稿でこれを述べましたが、ページファイルなしで非常にメインラインのサーバーを実行し、ここですべてがうまくいくようです。実際、それなしではより高速に見えます。8GBのRAMがあり、ハードドライブがSSDであるかどうかではなく、RAMが多いかどうかに基づいて判断する必要があります。不要な書き込みを行わないことで、命を救いたいということは理解できますが。


2

仮想メモリに2台目のハードドライブを使用するだけです。


1
ポイントは、SSDを使用してページファイルを書き込んでもドライブの利用可能な書き込みが焼けない場合、SSDを使用してスワップパフォーマンスを改善することだったと思います。通常のハードドライブを使用しても、SSDのようなパフォーマンス上の利点は得られません。
jrista

ほとんどのラップトップでは不可能です。
ブライアンノブラウフ

0

1年以上、8 GB RAM、SSDシングルドライブ、ページファイルなしのラップトップを問題なく実行しています。ページファイルを必要とする1つのゲームに遭遇し、ソフトウェアのWebサイトにアクセスし、それを無効にするrunコマンドを取得して、問題を解決しました。

私のラップトップは4年です。古いですが、新しいデスクトップよりも高速に動作します。メモリリーク(別名SWAPファイル)は、この手法の作成以来、Windows OS の問題でした。残念ながら、Linux開発者はその足跡をたどりました。バックグラウンドで実行しているソフトウェアが少ないほど、優れています(特にMicrosoftの場合)。


-1

あなたがそれで逃げることができるなら、私はスワップを使わないでください。または、swappinessをかなり下げるかもしれません。不要な場合は、1つを使い切ることは困難ですが(最大帯域幅でドライブ全体に100,000回書き込むのにどれくらい時間がかかりますか?)。

再び、休止状態(ディスクへのサスペンド)は、何らかのスワップなしでは機能しません。

以前はスワップのない奇妙な動作がありました(スワップする50 MBのRAMディスクが勝つように)が、それは昨年の夏に修正されました(または2007年ですか?)ので、現在のOSは問題ないはずです。

今必要なのは、eraseコマンドをサポートするハードウェア(Linuxが数か月間サポートしてきたもの)であり、SSDの寿命はほんのわずかです。


TRIMコマンドは、SSDの寿命を延ばすために何もしません。それは、ブロック消去を発行して、汚れたブロックを帯域外でクリーンアップするだけです。通常の動作では、SSDがブロックを書き換えるときに消去を発行します。最終的な結果として、TRIMを使用するとパフォーマンスが向上する可能性がありますが、SSDは引き続き同じ数の消去コマンドと書き込みコマンドを発行します。
ダニエルローソン

非常に真実です、それは単にそれらをより良くするでしょう。
ロナルドポトル2009年

ダニエル(およびロナルド):SSDが「ディスク」のセクションが解放またはゼロ化されていることを知っている場合、TRIMのおかげで、書き込みレベリングや小さな書き込みの管理時におそらくコピーされません。書き込みが少なく、寿命が長いということですか?固体思える私と一緒に同意するものといくつかのソース:atpinc.com/Memory-insider/... superuser.com/questions/1063744/... wiki.archlinux.org/index.php/Solid_state_drive#TRIM -エッジケースなどのための素晴らしいリソース
マシューエル

-2

2つのエンタープライズクラスのSSDが非常に時期尚早に燃え尽きました(つまり、保証期間内です)。その理由は、スラッシングによる重いスワッピングだと思います。頻繁にメモリリークのある不要なプロセスが実行されているか、デーモンがバギーであるため、スワップアクティビティがほぼ継続的に発生することがよくありました。私iostat -n9 -w 10は時々バックグラウンドで実行していますが、頻繁に継続的な大量のディスクアクティビティがあることに気付きます。また、カーネルプロセス(スワップ)アクティビティは、ほとんどのI / Oのソースとして記録されました。数か月間メモリリークが発生し、定期的な強制終了が必要なデーモンを思い出します。システムが煩わしく遅くない限り、トラブルシューティングをしないことが多いので、デーモンを再起動する前に長時間スラッシングが続くことがよくありました。リークが修正されるまでに時間がかかります。

スワップを無効にするとスラッシングに注意が向けられますが、SSDの大きな摩耗が発生する前に問題に対処しますが、このような損傷を防ぐ最善の方法とは言えません。適切な監視/アラートツールの方が良いでしょう。

多くの回答が認めていない注意点は、サーバーがSSDを継続的にスラッシングしている場合、この状況では1年以内にかなり急速に燃え尽きることです。クラシックスラッシングは、通常、仮想メモリスワッピングが(スワップ)ドライブをほとんどビジー状態に保つのに十分なほど重い場合に発生します-最大I / O帯域幅の1桁以内であり、スワップ関連のI / Oは、システムがその状態にあるほとんどの時間を完了します。他の答え、システム少なくとも古典的な方法ではなく、スラッシング。または、スラッシングとは何かの誤解に依存しています。そして、その誤った仮定は、他の正確なデータにもかかわらず、SSDがスワップファイルの唯一の可能な場所である場合でも、ページングの理由に関する誤った答えを導きます。


-3

未使用のメモリが多い場合は、ディスク上のページファイルを無効にします。古いプログラムの中にはページファイル機能を要求するものがあり、それらのWindowsではメモリに小さなページファイル機能が作成されます。


2
私はあなたにもっと反対できませんでした。このポスターのリンク先の質問で受け入れられている回答をご覧ください。
チョッパー

2
Windowsはメモリにページファイルを作成しますか?どのようだ?
マーク・ソウル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.