Ask CORE

Microsoft Japan Windows Technology Support

リソース不足について – 第 3 回

こんにちは。 Windows テクノロジー サポートの丸山です。   第 1 回、および第 2 回では、リソース不足の問い合わせにおいて、原因となることが多いページプール、非ページプールの不足についてお話をさせていただきました。   今回は、ページプール、非ページプールの上限値の確認方法と、Windows Vista や 64-bit Windows についてお話します。   ページプール、非ページプールの上限値確認方法について   まず、パフォーマンスモニタでは、以下の値が確認可能であることをお話ししました。   – Pool Nonpaged bytes – Pool paged bytes (この値は、ページアウトされた分も含めた、ページプールの全体サイズを示しています) – Pool paged resident bytes (この値は、ページプールの中でも、物理メモリ上にあるメモリサイズを示しています)   しかしながら、パフォーマンスモニタでは、これらの最大サイズを確認することができません。 カーネルデバッガを使用して、!vm コマンドを実行することで、値を確認することができます。 ただし、Windows Vista 以降の OS をお使いの場合では、デバッガを接続するためにWindows をデバッグモードで起動する必要があります。ちょっと面倒ですね。   そこで、代わりに今回は Process Explorer ツールを使用した方法についてご紹介します。 Process Explorer では、シンボルの設定を行うことで、現在確保されているプールのサイズや、その上限値を確認することができます。… Read more

リソース不足について – 第 2 回

こんにちは。 Windows テクノロジー サポートの田辺です。 リソース不足について – 第 2 回 では、ページ プールと非ページ プールについて もう少し掘り下げて見ていきたいと思います。 第 1 回と比較をすると細かい内容となりますが、トラブルシュートを行う上では欠かせない要素もいくつかありますので、がんばって進めていくことにしましょう。     割り当てられる領域につける名札について   ページ プールおよび非ページ プール内の領域が、各要求元のドライバに割り当て (Allocate) られる際には、Tag と呼ばれる 1 ~ 4 文字の名札がつけられます。 大抵この Tag には 要求元のドライバにより一意の文字が指定されるので、ドライバのどのような動作の際に確保されたプール (ページ プールもしくは 非ページ プール) なのかを判断する事ができ、この Tag 毎に使用されている値を見る事でプールの枯渇が発生した場合に、どのドライバが “限りあるリソース” を消費しているのかを追跡する事が可能となるのです。ただし、Tag そのものから確保されたプールがページ プールもしくは非ページ プールなのかを判別する事はできません。多くの場合、ページ プールと非ページ プールで共通の Tag が使用されます。   いくつか例を挙げてみますと、、、   MmSt –… Read more

リソース不足について – 第 1 回

こんにちは。 Windows テクノロジー サポートの田辺です。   システムの管理を行っていると必ずと言って良い程直面するのが、システムのリソース不足だと思います。 システム リソースって?と聞かれるとまず思いつくのが、物理メモリになるかと思いますが、システムで使用しているリソースは、実は物理的に搭載しているメモリだけではありません。   そこで今回はシステム リソースの中からも、デバイスの開発者やサポート業務等に従事している方以外にはあまり知られていないような、ページ プールや 非ページ プールといったリソースをピックアップして紹介させていただきたいと思います。     ページ プールと非ページ プールについて   一言で言うと、ページ アウトしないプール領域とページ アウトする事が出来るプール領域という事になりますが、言葉だけだとさっぱり分かりませんね。 そこで漠然とですが説明しますと、、    – ページ プール   ページ プールとは、カーネル モードで動作するドライバによって確保される仮想メモリ空間で、OS コンポーネントやアプリケーションにより利用される。 ページ プールはページング ファイルへの書き出し (ページ アウト) を行うことが可能。 ページ アウトが可能なため、確保されているページ プールが全て物理メモリ上に存在しているわけでは無い。    – 非ページプール   ページ プールとは異なり、ページ アウトが行われない領域。   となります。   ページ プール、非ページ プールの用途は多岐に渡りますが、実際にプール領域を比較的多く使用するモジュールとしては、OS モジュールのほか、I/O… Read more