十分な物理RAMが与えられたWindowsページファイルを無効にしない理由は何ですか?


35

Windowsページファイルを無効にすることの問題については、たとえばhereherehereなど、すでにかなり議論されています。人々は「RAMが十分にある場合でもページファイルを無効にするべきではない」という回答を支持し続けていますが、このアドバイスについて具体的で検証可能な理由が示されていません。私の知る限り見ることができるように、場合あなたは(あなたが十分なRAMを持っているので)、ページファイルから読み込む必要はありません、それは、emptively事前それに書き込むのWindowsのために有効にしてパフォーマンスが唯一悪化する可能性があります。せいぜいパフォーマンスは同じでしょう。読む必要のないデータを書き込むことで、どのように改善できるのかわかりません。

だから私の質問は:

私が行うすべてに十分な物理RAMがあると仮定して、ページファイルを無効にしない理由はありますか?

WindowsのバージョンがWindows XP x64 SP2またはWindows Server 2003 x64 SP2(同じもの)であるとします。Windows Server 2008 x64で異なる場合は、その答えも聞きたいと思います。意見だけでなく、良い情報源から具体的で客観的な理由を探しています。「ここに、ページファイルを使用した場合と使用しない場合のベンチマークを示し、RAMが十分であってもページファイルを使用した場合の結果が優れていました」または「このMS KB記事によると、ページファイルを無効にすると問題Xが発生します」などがあります。

これまでのところ、言及した唯一の理由は次のとおりです。

  • 十分なRAM があると思っていても、使い果たす可能性があります。わかりましたが、この質問の目的のために、私が十分に持っていることを考えるだけでそれを取りましょう。多分私は自分のメールを読んだだけで、16GBのRAMを持っています。または128GB。または1TB。または何でも-しかしそれは私がすることの100%、時間の100%のために十分です。別の考え方としては、x MBの物理RAMとy MBのページファイルがあり、その構成でRAMを使い果たしたことがなければ、x + y MBの物理RAMを使用し、ページファイル?
  • Windowsはページングファイルを「使用」しており、信頼性として機能しない場合がありますRAMがシステム全体のパフォーマンスに与える影響を理解することから、MSはページファイルを無効にするオプションを提供しており、 。
  • Windowsは、あなたよりも優れていることを知っています。いいえ-これ以上プログラムを実行したり、データをロードしたりすることはありませんが、私はします。

14
このテーマは、ほとんどすべての技術関連のフォーラムで太陽の下で吐き気について議論されてきました。結論:実行するかしないか。それがあなたのために働くなら、素晴らしい、あなたの人生を続けてください。そうでない場合、仮想メモリはマウスを数回クリックするだけです。それ以外は、ここで時間を無駄にしています。最適なブラウザまたはウイルス対策ソフトウェアについて話し合うことをお勧めします。:)(ところで、あなたのリンクは素晴らしい読み物です、推奨)

1
@Mollyあなたのリンクですか?:)
EMP

3
@Molly:これが時間の無駄だと思うなら、コメントしないで、無視して先に進んでください。なぜ質問を批判するのですか?気にしないかもしれませんが、他の人は気にします。
マス

2
this.iに対するフラストレーションを感じています。最近、4GBのddr2から8GBのddr3に移行しました。職場の人は、「スワップサイズを必ず8〜12 GBにする」と言います。どうして?前と同じことをやっていて、今では2倍の物理RAMを持っています。なぜもっとスワップスペースが必要なのですか?
LoveMeSomeCode

2
主観的ではない-質問、特に仮定を注意深く読んでください。私は意見ではなく、信頼できる情報源から特定の理由を求めています。
EMP

回答:


14

これはマイクロ最適化です。ポイントは、通常の操作に似たものでは、それ行う理由ないということです。使用パターンが変わると、簡単に傷つく可能性があります。

特殊なケースでは、ローカルの書き込み可能ディスクがない場合など、意味があります。


そのままにしておくことに同意します。
user10547

Windowsは書き込み不可のディスクからも起動できますか?
サーモンムース

はい。ただし、機能させるには多くのことを変更する必要があります。例えば、レジストリ...など、あなたがRAMディスクにそれをリダイレクトする必要があるので、書き込み可能なディスク上にある必要があります
クリストファー・

1
もちろん、スワップを無効にする理由があります-主な理由は、物理メモリが空いていてもWindowsがアプリケーションメモリをスワップアウトすることです。そのため、1時間コンピューターを離れた後、コンピューターに戻ってくるたびに、ハードドライブが物理RAMを再読み込みするのに膨大な時間を費やします。スワップファイルを無効にする理由はないと言うのは絶対にひどいアドバイスです。
PP。

あなたは実際ページファイルを無効にすることでスピードアップに気づきましたか?私は個人的には持っていませんし、読んだことから、ほとんどの人はそうではありません。@Captain Segfaultが言ったように、これはマイクロ最適化です。
サーシャチェディゴフ

8

RAMにすべてを収めることができる場合でも、ページファイルを保持する多くの理由があります。

SFに関する回答には125の賛成票があり、多くの信頼できる記事にリンクしています。見てみな:

https://serverfault.com/questions/23621/any-benefit-or-detriment-from-removing-a-pagefile-on-an-8gb-ram-machine/23684#23684


3
これはすべて真実であり、私は確かに同意しますが、Microsoft(それについて考えるのに多くの時間を費やした人たち)が仮想メモリを無効にすることを明示的に推奨するリンクを喜んで提供します(私のeee pcにほぼ2年間、 MSがこれらのガイドラインをリリースするずっと前に)。とはいえ、最新のハードドライブとモンスターキャッシュメモリを備えたデスクトップコンピューターでは、違いはありません。しかし、誰もが自分自身で。リンク(PDF、P.10):download.microsoft.com/download/2/0/a/...

3
eeeが2歳の場合、第1世代SSDが搭載されています。そのページファイルを無効にするとSSDの寿命が延びますが、明らかに標準的なケースではありません。
MDMarra

私は標準的な手順を言わなかったのですか?:)そして、私はページファイルを「良いコンピューティングプラクティス」として無効にすることをお勧めしませんが、誰かがそれをしたい場合は「em。それは、発生するすべての「悪いこと」にもかかわらず、何度も何度も接続することなく動作していることが証明されています。うまくいかない場合は、新しいページファイルを数回クリックするだけです。また、ハードドライブ/ ssdの速度が遅い場合は、システムメモリをハードドライブキャッシュとして割り当ててページングを高速化できるプログラムがあります。

私はその答えを読みました(実際、それは私の質問にリンクされています)。それがまさにこの質問を投稿した理由です。
EMP

8

このリンクから

注:ページングファイルを無効にしたり削除したりしないことを強くお勧めします。

Windows XPでページングファイルの使用を無効にするには、少なくとも768MBのRAMが必要です。

ジェフ・アトウッドの見解リンクはこちらです。


注:数が少なすぎると思うので、ページファイルを無効にする前にメモリを極端に増やす必要があり、さまざまな問題が発生するはずです。
ランスロバーツ

しかし、彼らはその推奨の理由を示していません-そして、私はそれがほとんどのユーザーが彼らが十分なRAMを持っているかどうか知らないからだと思うので、それは良い「経験則」です。使用しないメモリを割り当てるアプリについては、そのメモリは「コミット」ではなく「予約」する必要があるため、仮想アドレス空間のみを使用します。彼らが多くのメモリをコミットする場合、ページファイルは必要ありませんが、本当に私を救うことはありません。
EMP

Jeffのブログ投稿へのリンクは壊れているようです。
アイザック

1
@Isaac、修正..
ランスロバーツ

6

私は4 GBのRAMを搭載したWindows XP SP3 Professional 32ビットラップトップを実行しています(Windowsは公式には3 GBのみを認識しています)。私のサークルの人々は、私がそうすべきではないと私を怖がらせようとし続けました。

私は非常にメモリを集中的に使用するアプリケーションを使用します-任意の時点で、RAMで100%を実行するように構成された少なくとも2つの仮想マシン(vmware)があり、Visual Studioのインスタンス(多くのアドオンのインストール)、SQL Server、および電子メール、IM、IEなどのいくつかの「小さな」アプリ

これ以外にも、永続的な256 MBのRamdiskがあります。たまに、他のアプリケーションが実行されている間、Adobe Photoshopを使用します。また、Quake3、Neverwinter Nights、Oblivionなど、いくつかのゲームもプレイしています。

そして、私には何の問題もありません。

BlueNovemberへの注意:私たちの友人は客観的な理由を非常に丁寧に尋ねてきました。したがって、「疑わしい...」などの文言は不当です。投稿する前に見つけてください!休止状態はページングとは関係ありません。hiberfil.sysという別のファイルを使用し、ページファイルなしで休止状態にすることができます。

PS:申し訳ありませんが、「通常の」構成に戻ることを拒否し、実際にこのセットアップがどれくらい速いかをベンチマークすることができますが、ハードディスクのアクティビティに起因するちらつきがあまり見られないのは非常に快適です。HDD LEDが絶えず点滅していない場合、少なくともコンピューターがより速く「感じる」ように、私はそれだけのためにページファイルを無効にします。

ページファイルを無効にない唯一の理由は、パフォーマンスモニター(PerfMon)を使用しており、ページファイルに依存し、最低2 MBのページファイルを必要とする場合です。そうしないと、次のオブジェクトのカウンターが失われます:キャッシュ、メモリ、オブジェクト、プロセッサーおよびシステム。


1
コンピューターを操作する方法を他の人に教えたいと思う人を常に見つけるでしょう。恐怖の文化を助長します(「悪いこと」は生き残ります2012.com

1
へえ。良いもの。そして、あなたは、私がそれからできるだけ離れようと試みたことに気付くでしょう。;-)私は自分がやっていることを説明しているだけであり、分析と受け入れは読者に自由な選択として任せています。しかし、ページファイルを無効にするとPCが顔を爆破するという神話を解消してみてください。

4 GBのRAMを搭載したVista 32ビットを実行しているラップトップを使用しています(MicrosoftはMS-DOSの時代からビット数よりも多くのメモリに対処する方法を知っていたにもかかわらず、追加の物理RAMを使用不可にすることを喜んで決定しましたシステム)ページファイルなし。問題はありません。時々、Firefoxの2つの別々のインスタンス、MSN Messager、および他のいくつかのアプリがメモリの上限に達し、その後アプリがクラッシュして消えます。ページファイルをオンに戻すことを考えている唯一の理由は、Grand Theft Auto(メモリーホグおよびクリップウェアガレ)のためです。
PP。

4

ページファイルがない場合、BSODの場合、Windowsはミニダンプを作成できないと思います。つまり、適切なツールを使用して問題を分析することはできません。

BSODを経験していない場合、これは気にならないかもしれません。また、ページファイルを十分に迅速に再作成できますが、準備はできませんか?


これはどの程度真実ですか。
パセリエ

4

私が見つけた最大の理由は、ページファイルにより、Windowsがディスクキャッシュ用により多くの物理RAMを使用できるようになることです。Mark Russinovichのすばらしい記事「Pushing the Limits of Windows:Virtual Memory」には次のように書かれています。

ページングファイルがないとパフォーマンスが向上すると感じる人もいますが、一般に、ページングファイルがあると、Windowsは変更リスト(アクティブにアクセスされていないがディスクに保存されていないページを表す)にページを書き込むことができますファイルをページングして、そのメモリをより有用な目的(プロセスまたはファイルキャッシュ)に使用できるようにします。そのため、ページングファイルを使用せずにパフォーマンスが向上するワークロードもありますが、一般的には、システムで使用可能なメモリが増えることを意味します(Windowsは、ページングファイルのサイズが大きくないとカーネルクラッシュダンプを書き込めないことに注意してください)それらを保持するのに十分な)。


3

4GB(3.5GB使用可能)のRAMを搭載したWindows XPを実行しています。Visual Studio 2008を実行する必要がありますが、これには大量のメモリが必要です。多くの場合、3〜4個のインスタンスを開いており、それぞれが500MB以上のメモリを消費しています。

すべてのVisual Studioインスタンスをすばやく閉じる必要があるときはいつでも、Windowsがインスタンスを閉じるのに永遠にかかるので、これに本当に悩まされました。3分以上かかりました。何が起こっているかは、使用可能なメモリが十分にある場合でも、Visual StudioインスタンスがRAMからページファイルにページングされていることでした。アプリケーションを閉じると、ページングされたすべてのデータがRAMに読み込まれ、シャットダウンされます。基本的に、インスタンスをシャットダウンする前に2GBのデータをディスクからメモリにコピーします。

ページングを無効にした後、複数のVisual Studioインスタンスをシャットダウンすると、パフォーマンスが大幅に向上することに気付きました。数秒間CPUの100%を占有し、その後消えます。Windowsのシャットダウンは、数分ではなく、1分以内に可能になりました。

ただし、アプリケーションの起動時にパフォーマンスの向上に気付くことはありませんでした。これは、起動時にデータをディスクから読み取る必要があるためです。また、ページングが無効になっていると、物事は一般的にきびきびと感じます。

また、メモリ不足が原因で、年に数回しかクラッシュするプログラムはありません。通常、開いているプログラムが多すぎる場合、またはプログラムが狂って、狂ったようにメモリの割り当てを開始した場合。

要約すると、ページングが無効になっていることに非常に満足しています。Windowsのメモリ管理は非常にひどいものです。メモリ設定をいじくり回すことに慣れていて、起こりうる問題を認識している人には、これを行うことをお勧めします。


これはVisual Studioユーザーにとって最良の回答であり、ページングファイルを使用しないほうがはるかに優れています。
79E09796

私も同じです。PCに8 GBのRAMを入れて、ページファイルを無効にします。現在、VSを実行するとき、Windowsは3.5+ GBまたはRAMを使用しますが、それは
素晴らしく

2

一般的な意見に反して、ページファイルは単に安価ではありませんが、物理メモリに代わるものです。RAMを最適に使用できるように設計されています。

4GBのRAMを使用しても、おそらくすべてをメモリに保持するのに十分な容量はありません。タスクマネージャには何も表示されません。これを知って、Windows設計者は、実行可能なコードが必要なときにのみメモリに取り込まれ、可能な限り保持されるシステムを作成しました。システムがこのように使用されたメモリのより良い使用を見つけた場合、再割り当てされます。このシステムは、1993年にリリースされたNT3.1以降、Microsoftによって使用されています。1960年代から大規模なシステムで定期的に使用されています。

このシステムは、ほとんどの形式の実行可能コードに適しています。ただし、変更したデータは、使用するメモリを再割り当てする前に、ページファイルのどこかに書き込む必要があります。通常、ページファイルはコードの保存には使用されず、データのみが保存されます。コードとデータの両方をページアウトできることにより、必要なときにページアウトすべきものにシステムの柔軟性が与えられます。ページファイルを無効にすると、コードの保存に使用されるメモリのみを再割り当てできます。すべての変更されたデータは、長い間アクセスされておらず、再び必要とされない可能性があるものであっても、RAMに永続的に保持する必要があります。ただし、コードのページングは​​以前と同様に継続されます。ページファイルがない、またはページファイルが小さすぎると、システムのバランスが崩れ、Windowsが最適でない方法でページングされます。これは通常、パフォーマンスを低下させます。


1
あなたの最初の文は有望に聞こえたが、答えの残りは同じ古い「あなたは十分なRAMを持っていると思うが、あなたは持っていない」という議論になった。基本的にあなたが言っているのは、必要なRAMの量を決定する際に、コードだけではなく、データだけを考慮したということです。これは一般に有効なポイントですが、この質問には答えません。x MBの物理RAMとy MBのページファイルがある場合に始まるビットを参照してください... また、ページファイルがないとWindowsがページングする原因がわかりません。
EMP

1
あなたは、システムが1993年以来使用されていることを指摘しました。現在と比較してどれだけのメモリが利用可能であったかを理解していますか?2〜4 MBと2〜4 GBの話です。これは1000倍の増加です。同時に、ハードディスクは1000倍高速化されていません。したがって、RAMからディスクへの200MBのページングは​​、本当に高価です!1993年の200KBのページングは​​、現在200MBのページングよりもはるかに安価です。
マス

@Mas:現在SSDがあり、ページングをオフにするのに十分なメモリがあります(それを埋めないことが確実な場合)。
タマラWijsman

1

ラムがメモリを要求した1つまたは複数のプログラムを最大にすると、突然クラッシュする可能性があります。

そのリスクは、パフォーマンスの向上を上回る可能性があります。


とはいえ、あなたの質問が示唆するほど自信があるなら、それほど問題はないはずです。また、ページファイルセットがないと、冬眠ができなくなると思います。
RJFalconer

それは大丈夫です-それは最大になりません。ここでは、十分なRAMがあると仮定しています。ところで、OS自体が収まらないほどRAMが少ない場合を除き、Windowsがブルースクリーンでクラッシュすることはないと思います。実際にそれが実際に起こるのを見たことはありませんが、ええ、16MBのRAMでXPを実行しようとした場合は想像できます。
EMP

ええ、ブルースクリーンは表示されず、何らかのメモリ不足エラーが発生します。
サーモンムース

1

私の提案は、ページファイルを保持することですが、システムディスク上で128MBなどの小さなサイズに手動で修正します。

その理由は実用的なものです。Windowsは実際にスワップファイルがあることを期待しており、見つからない場合はほとんどの場合一時的に自動管理されるものを作成するため、無効にすると便利です。

また、BSOD、パフォーマンスカウンター、サスペンド/レジューム/ハイバネートなどの一部の操作で、静かに失敗したり、誤動作したりします。これはすべて私の経験に基づいており、これらはすべて小さなページファイルでなくなりました。

スワップファイルは、実行の最初の数分で満たされる可能性が高く、ほとんどの場合再び触れられないため、通常のディスクアクセスペナルティスワップファイルが発生することはありません。セッション中に「メモリ不足です」というアラートをすぐに受信する可能性がありますが、無視しても問題ありません(そう、スワップがいっぱいです。

(スーパーフェッチも非常に嫌いで、キャッシュ効果のためにメモリを空けておきます)


「(スーパーフェッチも非常に嫌いで、キャッシュ効果のためにメモリを空けておきます)」 これはほとんど意味がありません。SuperFetchはキャッシュです。
ジェイミーハンラハン

1

言及されていない答えの1つは、Windowsがページファイルを使用してクラッシュダンプを保存することでした。コンピューターをブルースクリーンする機能は、ページファイルを含むディスク上のセクターにクラッシュダンプを直接書き込みます(現時点ではWindowsが信頼できないファイルシステムドライバーをバイパスします)。

ページファイルがないと、クラッシュダンプ情報を取得できません。また、ページファイルを使用しなくても害はありません。そのため、非常に限られたシナリオのセット以外では、ページファイルをオフにする理由はありません。


0

SuperFetchが残りのメモリをキャッシュにロードすることを考えてください。ページファイルを無効にしない理由が明らかになります。シリアルタスク(マルチタスクが悪いため)とキャッシュされたアプリケーションの起動は本当に便利なので、ページングを犠牲にしてSuperFetchを動作させると便利です。


Windowsが必要なものを決定したくない。何かがロードされるのを数秒待つのは気にしません。私が嫌いなのは、何か他のことをするためにしばらくアプリケーションのフォーカスを外し、そのアプリケーションにフォーカスを戻すとき、Windowsがディスクからメモリにアプリケーションをロードするのを待たなければならないことです。これは、大量のRAMを使用するアプリケーションで非常に顕著です。ただし、Windows 7ではこの動作が改善されました。
マス

@Mas:これは通常の動作であり、SuperFetchがなければ無関心になります。また、SuperFetchをそれでも無効にすることもできますが、それでも非アクティブなアプリケーションをメモリにロードする速度を上げることはできません。非常に目立つ場合は、ディスクがまだ良好な状態にあると確信していますか?
タマラウィスマン

私の要点は、Super-Fetchが必要だと思うもののために交換するのではなく、メモリ内のアプリケーションを準備しておくことです。多くの場合、Visual Studioの複数のインスタンスを実行するため、これらのインスタンスがメモリに再度ロードされるまでにはかなり時間がかかる場合があります。
マス

@Mas:あなたが説明している動作は、私がいくつかのコンピューターで見るものではなく、SuperFetchはあなたが説明したことをしません。SuperFetchに関するCoding Horrorの記事で説明されているように「空のキャッシュメモリは無駄なキャッシュメモリです」。さらに、1つのソリューションの複数のプロジェクトで複数のファイルを使用できるため、Visual Studioの複数のインスタンスを実行する必要はありません。複数のソリューションで作業している場合、プロジェクト階層を変更することを検討することをお勧めします。これは推奨される作業方法ではないためです。
タマラWijsman

そして、あなたのワークライフの中核の基本に戻りましょう:The Multi-Tasking Mythに関するCoding Horrorの記事
タマラWijsman

0

あなたの質問が:

私がやることすべてに十分な物理RAMがあると仮定し、

  • ファイルアクセスでローカルに集中しない、タスクの小さな固定セットのみを実行する

  • そして、これらのタスクがすべて、Windowsシステムプロセスと共に実行可能な最大のファイル/データで同時に実行されている場合、インストールされているよりも少ないRAMに収まります。

  • また、環境にはごくまれに新しいファイルまたは予期しないローカルファイルが含まれることがあり、それらのファイルへのアクセス速度はそれほど重要ではありません。

ページファイルを無効にしない理由はありますか?

そして、あなたはイエスと言った、それは大丈夫だろう。

組み込み環境はおそらく、レジのOSインストールのように、これが適用される可能性が最も高い場所です。


0

簡単な答えは、メモリが不足するとウィンドウがひどくなることです。

物事は非常に遅くなります。

多くのソフトウェアパッケージには、使用可能なRAMを徐々に食いつぶすメモリリークがあります。

Plusウィンドウは、RAMの一部をハードドライブのキャッシュとして使用します。

必要なRAM が本当に十分にない限り、最終的には問題になります。


-1

ページファイル

4 GBのメモリで32ビットXPを実行します(XPでは3 GBしか表示されませんが、インターリーブされてお​​り、非常に高速です)。

XPは3GBのメモリしか見ることができません。私のマシンがすでにそれを持っているとき、ページファイルのポイントは何ですか?アクセスできないディスクメモリを予約しています。RAMを無効にしない限り。そのため、苦労して稼いだ最高のメモリに費やしたのは、代わりにXPがデートディスクであることを見つけるためだけです。

XP 32ビットを実行していて、4GBのメモリがある場合は、この実験を試してください:ページファイルをオフにします。XPを再起動します。ページファイルを削除します。いくつかのプログラム、Word、Excel、Chrome、IE Exを実行し、映画を見たり、音楽やテレビをストリーミングしたりします。すべてうまくいくはずです。今度は25 MBなどの非常に小さいサイズでページファイルをオンにします。XPを再起動します。いくつかのプログラム、Word、Excel、Chrome、IE Exを実行し、映画を見たり、音楽やテレビをストリーミングしたりします。仮想メモリが不足しているというメッセージがすぐに表示されます。これは、必要のない場合でもXPがページファイルを使用することを証明しています。タスクマネージャーのパフォーマンスタブ(alt ctrl del)を確認します。ピークは総物理メモリを大幅に下回っていますが、XPがページファイルを使用しているのはなぜですか?そして、なぜXPはあなたがメモリを使い果たしていると思いますか?

ページファイルは、DOSとWindows 98の時代からの時代錯誤です。十分なメモリがあれば、それを取り除きます。


4
ページファイルを使用してもRAMは無効になりません。アプリはRAMの量を超えて使用することはできませんが(ほとんどの32ビットアプリは大きなアドレスを認識しません)、Windowsがディスクにキャッシュできるようにします。プロセスをアイドル状態のままにすると、ページファイルに書き込まれ、実際に使用しているプロセスのためにより多くのメモリが解放されます。キャッシングは不適切な場合もありますが、それが理論です。ページファイルがどのように機能し、どのように機能するかについて、いくつかの技術文書を参照することをお勧めします。
ssube

1
David Read:仮想アドレスと物理アドレスの制限を混同しています。32ビットXPは、ほぼ確実に4 GBを超える仮想アドレス空間に対応できます。プロセスあたり4 GBのみですが、多くのプロセスを使用できます。「XPは必要のない場合でもページファイルを使用する」という分析にも欠陥があります。現実には、XPは常に仮想アドレス指定を使用しますが、それはページファイルを常に使用することを意味するわけではありません。ページファイルにより、一度により多くの仮想アドレス空間が存在できるようになります。持っていないのに必要な場合、プログラムはクラッシュします。
ジェイミーハンラハン14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.