Windowsページファイルを無効にすると何が問題になりますか?


15

常にページファイルが必要であり、パフォーマンスが向上すると言われていますが、Windows 7はページファイルなしで実行するように設定されています。人々はこれを言う、なぜ私は単純に理解していない-私はRAMの6ジブを持っており、私も来ただけの時間近く、私はクロムをコンパイルした時にRAMを使い果たすまでだった、私は一時的にページファイルを有効にしているため。

一般的な状況で速度を上げるために、本当にページファイルが必要ですか?どうして?

*クラッシュダンプにはページファイルが必要であることを認識しています。ただし、クラッシュダンプは使用しませんので、問題はありません。

回答:


8

ページファイルによってパフォーマンスが向上することはありませんが、必ずしも適切にメモリ管理が行われても低下するわけではありません。ただし、ページファイルなしで実行すると、使用できないメモリを要求するアプリケーションに関してシステムが不安定になる傾向があります。

OSのメモリ管理が特に悪い場合を除き、6GiBのメモリを含むページファイルはほとんど使用されません。それは、まったく使用できないと言うことではありません。IIRC MS Windowsは、使用可能なメモリが十分にある場合でも、ページングすることに関しては少しおかしいです。(なぜ、私は決して知りません。)

しかし、ページファイルを使用していないときに何が起こるかは、それを有効にするのに十分な理由かもしれません:ハードクラッシュ。ほとんどのアプリは、要求したメモリを受け取ることを期待しています。そうしないと、クラッシュします。(しかし、数千バイトで生活しなければならなかった古き良き時代はなくなりました...そして、あまりにも多くの開発者にとっては、メモリ管理を扱う習慣もあります。)

アプリが正しく構築されていれば、うまく失敗します。(運が良ければ、それはまったく失敗しません。しかし、それを頼りにしないでください。)ほとんどのアプリでは、あなたの手に素晴らしい失敗があります。さらに、その制限に近づいているアプリが増えるほど、システム全体の不安定性が発生する可能性が高くなります。

私自身の経験からのケース。Windows XP、4GiB、ページファイルなし。パフォーマンスは素晴らしかった。4GiBの制限に近づき始めるまで。その後、物事は狂いました:アプリがクラッシュし、メニュー項目が部分的にしか表示されない(またはまったく表示されない)、ボタンが何もしない、などです。パフォーマンスが低下したにもかかわらず、ページファイルに戻りました。より良く、より重要です。

現在、6GiBをプッシュするアプリを使用していないか、アプリで作業している可能性がありますが、ビデオ編集、写真編集、オーディオミキシング、プロダクションなど、近づきやすいいくつかの状況を考えることができます-基本的に、大量のデータを扱う場所(作業またはストリーミング)。そのデータがメモリ容量を超えると、アプリが「偽造」される可能性が高くなります。


だから、単純に(はい/いいえ)を置く:それは、それを言うために修正されて、私はRAMの2以上のジブを使用しない場合、私はしませんパフォーマンスの向上を参照してください?または、その前提条件があっても、どこかにまだ警告がありますか?
user541686

9
いいえ、ページファイルによってパフォーマンスが向上することはありません。安定性を向上させるだけです。定義上、ページングは​​ディスクレベルの操作であり、ディスク操作は常にRAMレベルの操作よりも遅くなります。また、6GiB(2GiBを超えない)であっても、Windowsが未だにイライラしてディスクへのページングを行うため、パフォーマンスの問題が発生する可能性が高くなります。それが賢明だと思った人は誰でも、私は彼らに「怒らせたい!」
ケリー・ショット

はい。たぶんそれは私が聞きたかったことだからです、私は知りませんが、あなたの答えが好きです。:Pかなり合理的ですね、ありがとう!
user541686

1
真実ではありません-スワップ上の未使用データの場所をキャッシュに使用できるため、ページファイルを使用するとパフォーマンスが向上します。これはあなたのためにそのような下票を引き起こしました。
peterh -復活モニカ

1
ページファイルはパフォーマンスを向上させることができます。これにより、あらゆる種類の高速キャッシュで使用可能なRAMが増加し、プログラムの起動/ロード/操作のパフォーマンスが向上します。ページファイルがなければ、その貴重な物理RAMは取り外し不可能なジャンクでいっぱいになります。
アークくん

7

Mark Russinovichによるこの記事では、ページファイルについて知りたいことをすべて説明します。

「キャッシュ」がページファイルの機能に関して使用する適切な用語であるかどうかはわかりません。キャッシュは、すぐにアクセスできるデータの一時的な保持場所です。物理RAMの競合が多すぎる場合、オペレーティングシステムはページファイルに問題を「フォールト」します。したがって、メモリ不足のためにプログラムが激しくクラッシュするのを防ぐのは、RAMオーバーフローの一時的なギャップです。しかし、Windowsはしばらくアクセスされていないものをページファイルに入れようとする(そしてLinuxもこれを行う可能性がある)ので、その意味ではそれはキャッシュですが、実際にはその主な機能ではないと考えています。

とにかく、記事を読んでください。ページファイルの設定に関する適切なガイドラインを提供します。@Sandeep Bansalが言うように、実行するために「要件チェック」の一部として1つを必要とするゲームがある場合があります(しかし、私は知りません)。

編集:この例は、ページファイルの役割を理解するのに役立ちます。

512MBのRAMがあるとします。最小化されたブラウザー自体が250MBのRAMを消費し、その時点で実行されているすべてのRAMの合計使用量が500MBであるなど、多数のプログラムを開いています。

そこで、150MBのRAMを割り当てたい別のプログラム(ワードプロセッサなど)を起動します。メモリ不足。ただし、ページングシステムがある場合は、最小化されたブラウザーを含むメモリページをディスクにページアウトできます。そのため、新しいプログラムをロードできます。

ここで、しばらくしてブラウザに戻りたいとしましょう。まあ、それはちょうどディスクに送信したものを「ページイン」する必要があります。その時点で十分な空きRAMがあれば、問題なく実行できます。存在しない場合は、何か他のものを最初にページアウトする必要があります。CPUを奪い合うプログラムが多数あり、ページングが絶えず続く場合、事態は遅くなり、「スラッシング」と呼ばれる状態になります。 このページインとページアウトはすべてパフォーマンスを低下させますが、メモリ不足エラーによるプログラムの「ハード」クラッシュを回避します。それがページングファイルの目的です。 ページングが多すぎる、つまり「スラッシング」は、ほとんどの場合RAMを取得できないため、プログラムをあきらめるよりも良くないでしょう。

これで、特定の時点で使用されいない可能性のあるものを予測するアルゴリズムが存在する場合、オペレーティングシステムはすぐには使用されないと思われるものを「プリページ」できます。したがって、これは、十分なRAMがある場合でも、存在するページファイルを使用してWindowsに対応します。できるだけ多くのRAMを使用可能にしようとしています。WindowsはLinuxと似ており、空きRAMはディスクキャッシュとして機能するため、バランス調整を正しく実行すると、全体的なパフォーマンスに貢献できます。これはすべてOS設計の一部であり、何千人ものプログラマーから優れたオペレーティングシステムを入手するのに10年かかる理由です。

したがって、実際にあなたの質問にも答えるために、それはページファイルを無効にすることで唯一間違っていることです。私が提供した例に戻ると、ページファイルがないと、単にブラウザを起動できません。または、OOMエラーを予測するように防御的にプログラムされていない記述の少ないプログラムは、本当に奇妙に動作する可能性があります。


@ultrasawblade:まだわかりません:あらゆる種類の「キャッシュ」のポイントは、ディスクへのトリップを防ぐことです。とにかくそこに行くのなら、どこにあるからでもファイルを取得してみませんか?ページファイルのポイントは何ですか?
user541686

@ultrasawblade:また、記事に関して:それは言いin general having [a page file] will mean more usable memory being available to the systemます。待って、何?より多くの利用可能なメモリ?永久に未使用のRAMスペースが3 GiBを超えていませんか?(混乱、2 GiBを超えることはめったにないので。)
user541686

2
ページファイルはキャッシュではありません!ラムがいっぱいになり、システムに使用可能なラムがまだあるように見えるようにしたい場合は、ラムからディスクへのデータのコピーを開始します(眠そうなプロセスから)。新しいプロセス!
エリュシオンとりこ

2
@ultrasawblade:あなたの編集に対する異議は、あなたの例は97%のRAM使用量(500/512)を指定しているのに対し、私の例は33%のRAM使用量(6のうち2GB)を指定しているということです。私はしていない私が限界に近づくとどうなるかについて尋ねます。どんな問題が起こるのか、私はすでによく知っています。私は、あなたがまだかなり長い道のりを歩んでいる場合、スラッシングや同様のものが発生しない(どうでしょうか?)私の場合と同じ議論をすることができれば(6 GiB RAMと2 GiBが使用されている)、それははるかに良いでしょう。そうでなければ、それは単に私の質問に対処しません。
-user541686

3
Russinovitchリンクの+1。答えがあります。クラッシュの可能性を防ぐために安全機構を放棄したい場合は、それがあなたのperogativeです。Windowsは、そうしないと決定しない限り、ページファイルがなくても正常に機能します。;)
カラマルフィア

2

ページファイルは、クラッシュダンプを保存するためだけのものではなく、本質的には作成されません。

ページファイルは、RAMが保持する必要のないデータを格納できるように存在します。これは、メモリに存在する必要のないアイテムのキャッシュのようなもので、他のことにより多くのRAMを提供します。

6GBのRAMがあればページファイルは必要ないかもしれませんが、特定のアイテムにはページファイルが必要な場合があります。いくつかのゲームではページファイルが必要であり、ページファイルがある場合にも役立ちます。

特定のプロセスで必要な場合に問題を回避するためだけに、500MBのページファイルを作成しても害はありません。


しかし、私の質問は:聞かせてのは、私が言う決してより多くのRAMの2ジブよりも使いません。とにかくページファイルを有効にすると速度が向上しますか?(「痛くない」は「はい、あなたに利益を与えます」とは異なります。)
user541686

6GBのRAMを使用すると、RAMが使用可能であっても、Pagefileは常に他のものに使用されますが、気付くことはありません。私は4GBを持っていますが、実際にはそれ以上になりません。しかし、私は日常のPC用のが今500ギガバイト+ HDDのスペースを持っているようなので、少なくとも500〜1000メガバイトの損失ではありません、ちょうど包み1ギガバイトページファイルを持っている
サンディープBansalは

@サンディープ:うーん...それらの「他のもの」とは正確には何ですか?ページファイルをオンにしないのは、RAMの空き容量が非常に多いときにWindowsがハードディスクを使用する理由がわからないためです。
user541686

これはLinuxと同じです。アクセスするRAMがあるときにLinuxがスワップスペースを使用するのはなぜですか。ページファイルには、RAMからしばらく離れて使用されていないファイルが保持されます。
サンディープバンサル

@Sandeep:Linuxがそれを行う理由もわかりませんが、同じ違いがあります。しかし、ページファイルにファイルを保持する意味は何ですか?RAMにない場合は、実際にディスク上のどこからでも読み取ります。
user541686

1

最初のステップは、キャッシュが何であるかを理解することです。つまり、さまざまなキャッシュが何に使用されているかを理解することです。
CPUには、OPの結果、フラグの状態、計算されたアドレスを保存できる小さな内部キャッシュがあります。デュアルコアでは、内部キャッシュは約1 MBであると考えています。それは非常に高速で、CPU内部のみがアクセスでき、オーバークロックされたCPUの熱の影響を最も受けます。

レベル2キャッシュは、CPUからメモリへのトランザクションの高速バッファとして機能し、プリフェッチによって収集されたコードスレッドも保持します。デュアルコアでは、典型的なインストールには6MBのlvl2キャッシュがあると思います。非常に高速ですが、内部キャッシュメモリは低速ですが、メモリコントローラとCPUのみがアクセスでき、バス上の専用ラインに常駐しています。

ページファイルは、メモリに存在する場合と存在しない場合があるデータを保存するという点で、実際にはキャッシュです。O / Sはさまざまなタスクにページングファイルを使用できます。その1つは、まだディスクにコミットされていないデータファイルの現在の状態を保存することです。ページファイルが存在しない場合、この機能を内部で提供するのはサードパーティのアプリケーション次第です。このシナリオの問題は、ガベージコレクションに関しては多くのプログラムがうまく動作せず、ディスク上に偽の.tempファイルが残ることです。これらの残りはインストールマニフェストの一部ではないため、アンインストール手順を妨げたり、ディスクアクセス速度を低下させたりする可能性があります。

私の意見では、スワップファイルは通常持っておくのが良いことです。実際、システムに非常に多くのRamが存在し、1つの特定のタスク専用であり、そのアプリケーションがこれらすべてを処理する場合、スワップファイルは必要ないかもしれません。1つの例は、Windowsプラットフォームで実行されるArcade Video Gameです。これらは通常、存在するデバイスに必要なドライバーのみでインストールされ、ドライバーの競合に悩まされることはほとんどありません。ただし、ほとんどのアプリケーションは、発生する可能性のあるすべての潜在的な問題、特に他のサードパーティアプリケーションやドライバーの競合からの影響を含む問題を処理しません。

ページファイルを追加すると短期的にパフォーマンスが低下することがありますが、長期的には一貫したパフォーマンスが維持されるはずです。最初はページファイルを持たない方が速く見えるかもしれませんが、時間が経つにつれてパフォーマンスがかなり低下します。

スティーブンマルム、MCP。


「ページファイルが存在しない場合、この機能を内部で提供するのはサードパーティのアプリケーション次第です。」->意味がよくわかりません。プログラムは、そこにページファイルがあるかどうかはあまり気にしません。
user541686

0

個人的体験

現在、8GB RAMを搭載したラップトップには、ページファイルの作成/使用を妨げる問題があります。私の人生は地獄です。「メモリ不足」のプロンプト、アプリのクラッシュなどが常に発生します。それぞれ1〜1.5 GBを消費する3つのプログラム(たとえば、Webブラウザー、特別なプラグインを備えたVisual Studioなど)が薄い氷の上を歩いています。

別の議論

物理RAMキャッシュからのデータの使用は非常に高速です。「空き」物理RAMが多いほど、保持できるキャッシュが大きくなります。OSが物理RAMからページファイルに移動できる休止データが多いほど、頻繁にアクセスされるデータのキャッシュ用により多くの物理RAMが解放されます。

場所を変更したときに場所データをロードするゲームをプレイするとします。また、2 GBをゲームに残すWebブラウザーを実行しているため、1つの場所で十分です。ページファイルがない場合、場所を変更するたびに、データがHDDからゆっくりロードされます。ページファイルを使用すると、未使用のWebブラウザーデータがページファイルに送信され、貴重な物理RAMがいくつかの場所のデータを保存するために使用され、場所の読み込みが大幅に高速化されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.