web-dev-qa-db-ja.com

DisablePagingExecutiveレジストリの変更は実際に影響がありますか?

過去の多くのマシンで、Windowsのさまざまなバージョン(2000、XP、Vistaなし)で、パフォーマンスを向上させるためにDisablePagingExecutiveを有効にしました。どちらの場合も、私はたくさんのメモリを持っています、そして特に現在のケースではそうです。ただし、このレジストリTweakを有効にして再起動した後、しばらくしてタスクマネージャーを確認しましたが、2GBの物理メモリが空いているにもかかわらず、ディスクにページングされたカーネルの巨大なチャンクがまだ表示されています。

誰かがこのTweakをうまく使用したことがありますか?今まで?タスクマネージャー([パフォーマンス]タブ-> [カーネルメモリ]セクション)をチェックしたときに間違ったインジケーターが表示されているのかもしれませんが、Windowsがディスクにページングできるすべてをページングしないようにしたいと思います。最近のデスクトップ。 「極端なメモリプレッシャーがない限り、ページングをディスクに行わない」というオプションが存在するはずです-ありますか?

9
SqlRyan

この機能に関して、インターネット上で非常に多くの混乱があります。この設定は、エグゼクティブと呼ばれるカーネルの一部にのみ影響を与え、次にページング可能な部分にのみ影響を与えます。カーネルには、この設定の影響をまったく受けない部分があります。

カーネルページングは​​、他のページングと同じように機能します。頻繁にアクセスされるコードとデータはRAMに保持されますが、残りはディスクに残ります-それが属する場所です。システムはRAMより適切な用途が見つからない限り、マイクロソフトはページングシステムに膨大な量の研究とテストを費やしました。

カーネルのコンテキストでは、「非ページ」とは、いかなる状況でもページアウトできないコードとデータを意味します。 「ページング」とは、必要に応じてページアウトできるコードとデータを意味します。実際にどのくらいISページアウトされているかはタスクマネージャからはわかりません。ページアウトされたコードの一部は、まだ必要がなかったため、最初からディスクから読み取られることはありませんでした。すべてのカーネルが頻繁にアクセスされるため、ページ設定および非ページ設定の数値が問題の設定の影響を受けるとは思わないでください。

注:コードがページアウトされると、通常、コードはページファイルにコピーされません。元のファイルから単純に再ロードできるため、これは必要ありません。これは、kerenlだけでなく、ほとんどのコードに適用されます。

RAM=の妥当な量では、設定は本質的に何もしません。それは、システムがページアウトしたくないデータをページアウトするのを単に防ぐだけです。

13
Larry Miller

ご存じかどうかはわかりませんが、ページフォールトは、Windowsが実行可能コードを読み込むために使用するメカニズムです。したがって、たとえば、a DLLが仮想メモリにマップされ、必要に応じてページフォールトがディスクからの実際の読み込みに使用されます。ページファイルはこれに関与していません。

したがって、「ディスクへのページング」と考えるものの多くは、そもそもディスク上にあったものかもしれません。

4
Will Dean

この設定の使用を1つ追加するだけです。xperfスタックウォーキングで必要です。

http://blogs.msdn.com/b/pigscanfly/archive/2009/08/06/stack-walking-in-xperf.aspx

Paging Executiveを無効にする

64ビットWindowsでトレースを機能させるには、DisablePagingExecutiveレジストリキーを設定する必要があります。これはオペレーティングシステムに、カーネルモードドライバーとシステムコードをディスクにページングしないように指示します。これは、xperfを使用して64ビットコールスタックを取得するための前提条件です。64ビットスタックウォーキングは、実行可能イメージのメタデータに依存し、状況によってはxperfスタックウォークコードは、ページアウトされたページにアクセスできません。

設定に関するもう1つの情報。この引用はインターネットで見つけることができますが、その主な出典はわかりません。

DisablePagingExecutiveはntoskrnl.exeにのみ適用されます。 win32k.sys(ntoskrnl.exeよりもはるかに大きい!)、他のドライバーのページング可能部分、ページプール、およびもちろんファイルシステムキャッシュには適用されません。これらはすべてカーネルアドレス空間に存在し、ディスクにページングされます。メモリの少ないシステムでは、これによりアプリケーションコードが不必要にページングされ、パフォーマンスが低下する可能性があります。十分以上のRAMがワークロードにある場合、そうです、これは問題にはなりませんが、十分以上にある場合RAMこの設定は、ドライバーをデバッグするときに役立ち、一般に、限定された一連の既知のアプリケーションを実行しているサーバーでのみ使用することをお勧めします

したがって、xperf- usageのほかに、その利点は不明確であると結論付けることができます。基本的に、ページングからの「ほぼランダム」なものを制限し、さらに考えれば-その結果、何か他のものを引き起こします代わりに、より頻繁にページアウトされます。

3
Roland Pihlakas

DisablePagingExecutive Tweakはページングを停止しません。その目的は、「Executive」(つまり、カーネル自体)がページングされるのを防ぎ、個々のページングされたアプリだけでなく、システム全体のスローダウンを引き起こすことでした。

システムプロパティ(またはHKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles)ですべてのページファイルを削除することにより、ページングを完全に無効にしてみてください。これは私にとってはうまく機能しますが、物理メモリが不足するとかなり不快になり、STOPエラーをデバッグするためのページファイルが必要になります。

2
Froosh

システム設定を変更する場合、システム設定を変更するとどのような種類の結果が得られるかを知るために、この情報またはそれと同等のものを理解する必要があります。システムパフォーマンス。

あなたができることは、Windowsで「リソースモニター」を開くことです。検索ツールに移動して、「リソースモニター」を検索します。または、コマンド実行ツールを開き(これを読んでいる人なら誰でもその方法を知っていると思います)、「resmon」と入力します。

このツールを使用して、CPUアクティビティ、メモリアクティビティ、ハードディスクアクティビティなど、あらゆる種類のシステムアクティビティを監視します。 「リソースモニター」に含まれている情報をまだよく理解していない場合は、少し調べてみてください。システム設定の変更によって行われる結果のタイプを測定するのに役立つテストを実行するには、これに精通している必要があります。

基本的な考え方は、システム設定の変更によるパフォーマンス関連の結果を測定するために、コンピューターシステムに特定のタスクを実行させるときに「リソースモニター」を実行することです。パフォーマンスをテストしようとしているシステムリソースを使用するタスクを実行します。たとえば、プロセッサ、RAM=メモリ、ハードディスク、グラフィックプロセッサユニット、またはネットワークデバイスをテストできます。Googleを使用してテストする方法を見つけてくださいテストするコンピュータリソースのパフォーマンス。

たとえば、システム設定「Disaging Paging Executive」に変更を加えた場合、コンピューターリソースでテストを実行し、「Resource Monitor」を使用して、変更がどのような結果をもたらすかを測定できます(変更がある場合)。

次に、データを比較して、変更した古いシステム設定と新しいシステム設定の間に大きな違いがあるかどうかを確認します。

システムリソースのパフォーマンスをテストするいくつかの方法には、監視および測定するソフトウェアが付属しているため、必ずしも「リソースモニター」を使用する必要はありません。

重要なのは、体系的な方法に従って、コンピュータに実行を要求するタスクに関連して、変更がシステムのパフォーマンスにまったく影響しないかどうかを確認することです。

1つの設定を変更します。パフォーマンスの変化をテストします。テストの結果を決定します。結果に基づいて、設定を元の設定に戻すか、別の設定に戻すか、そのままにしておくかを決定します。 1)設定2)テスト3)結果4)決定。

この論理的な推論方法は、「ページングエグゼクティブの無効化」を含むあらゆる種類のシステム設定調整に使用できます。

幸せな微調整。

1
WestdoX

カーネル、エグゼクティブ、デバイスドライバーなどのシステムレベルのコンポーネントは、2つのプールからメモリを割り当てることができます。これらは、メモリマネージャーの裁量でページアウトできるページプールと、常にRAMに残しておく必要がある非ページプールです。開発者は、必要に応じてどのプールを使用するかを決定します。システムメモリマネージャーに最大限の柔軟性を与えるため、可能な限りページプールを使用することをお勧めします。どちらのプールもサイズが制限されており、特に32ビットシステムでは、これらの制限により問題が発生する可能性があります。ページプールはかなり非ページプールが過度に使用された場合、サイズ制限に到達する可能性があり、これにより重大なシステム問題が発生します。

タスクマネージャーで「ページ化」および「非ページ化」カーネルメモリとしてラベル付けされた項目は、これらのプールの割り当てを示しています。実際にページアウトされるメモリの量の動的な状態とはまったく関係ありません。 "DisablePagingExceutive"レジストリエントリは、ページプールの一部の動的ページング状態に影響するため、ask Managerによってその影響が示されることはありません。

1
Larry Miller

たくさんある!この投稿に関する非常に良い情報のうち、私は感銘を受けました。値が1のDisablePagingExecutiveは、XPからWindows 10、32ビットから64ビットまでの任意のバージョンのWindowsをクリーンインストールした後、デスクトップの最初のサイトで実行するのが最善であることに気付きました(マザーボードに十分なRAMがある限り)。 DisablePagingExecutiveに値1を適用した後、LargeSystemCacheにも同じ値を設定する必要があります。

また、上記のように、これらの調整は通常Windowsサーバーで行われますが、デバッグ時にも便利です。

これらの変更は自己責任で使用されるため、誰もが上記で言及したことを考慮に入れ、DisablePagingExecutiveである上記の各キーをgoogleにしても害はありません。

十分なRAMがあることを確認してください。十分なRAMがないと、システムで問題を処理する必要がなくなり、おそらくシステムでブルースクリーン(bsod)が発生します。

4 GBのRAMは、上記の微調整を適用する最小値であり、多くのRAMを使用する強力なアプリケーションを使用しない場合、またはゲームを実行する場合は、これらをそのままにするのが最善です。

(XP:少なくとも256 MBのRAM)

レジストリで何かを行う前に、必要に応じてレジストリを復元できるように、オペレーティングシステムのハードドライブまたは別の種類のストレージではなく、レジストリをストレージデバイスにアップすることをお勧めします。

私の上の情報は本当にTを横切り、iをドットで囲みます。

                    Make sure to backup your system.
1
Smirk24