ターミナル サービス環境でアプリケーションが正しく動作しない場合がある

文書翻訳 文書翻訳
文書番号: 840342 - 対象製品
重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Microsoft Windows レジストリの説明
すべて展開する | すべて折りたたむ

現象

ターミナル サービスがインストールされている Windows Server 2003 ベースのコンピュータにターミナル サービス セッションを使用して接続し、クライアント コンピュータからターミナル サーバー上でプログラムを実行する場合、実行対象のプログラムが正常に実行されないことがあります。

原因

この問題は、セッション メモリがグラフィカル ユーザー インターフェイス (GUI) オブジェクトをアプリケーションに割り当てることができない場合に発生します。ターミナル サーバーのセッション メモリは、さまざまなアプリケーションへの GUI オブジェクトの割り当てを管理します。GUI オブジェクトに割り当てられているセッション メモリが十分でない場合、ターミナル サーバーで実行されるアプリケーションに GUI オブジェクトが正しく割り当てられません。このため、アプリケーションが正常に実行されないことがあります。

解決方法

警告 : レジストリ エディタまたは別の方法を使用してレジストリを誤って変更すると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリの変更により発生した問題に関しては、一切責任を負わないものとします。レジストリの変更は、自己の責任において行ってください。

セッション メモリに関するレジストリ エントリを手動で変更することにより、セッション メモリを構成することができます。セッション メモリの変更に関するレジストリ エントリは、レジストリの次のサブキーにあります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
セッション メモリは、SessionViewSize と SessionPoolSize の 2 つのレジストリ エントリで管理します。SessionViewSize レジストリ エントリには、デスクトップ ヒープ用に予約されるメモリの量を指定します。このエントリのデフォルト値は 20 MB です。このメモリは、アプリケーションがフォント、メニュー、ウィンドウなどの GUI オブジェクトを使用するために割り当てられます。

SessionPoolSize には、セッションのページ プールを MB 単位で指定します。セッションのページ プールのデフォルト値は 16 MB です。十分な量のメモリがある場合、Windows によって 32 MB が割り当てられることがあります。このメモリは、ビデオ ドライバの割り当てに使用されます。

64 ビット オペレーティング システムでは、SessionViewSize のデフォルト値は 104 MB、SessionPoolSize のデフォルト値は 64 MB です。SessionViewSize と SessionPoolView の両方に割り当てられるメモリを増やす場合、最善の方法は、SessionViewSize と SessionPoolSize に割り当てるメモリの値を 16 MB ずつ増やすことです。メモリを増やした後、ターミナル サービス経由でアプリケーションを実行できるかどうかを確認します。 実行できない場合、割り当てるメモリの値をさらに 16 MB ずつ増やし、再度確認します。

SessionViewSize と SessionPoolSize の値を変更するには、レジストリ エディタを使用して、両方のレジストリ エントリの DWORD 値を編集します。また、SessionViewSize と SessionPoolSize を個別に変更することもできます。

: 64 ビットの Windows オペレーティング システムでも、32 ビットの Windows オペレーティング システムと比較してグラフィカル ユーザー インターフェイス (GDI) ハンドルの制限は大きくなっていません。1 つのプロセスで処理できる GDI ハンドルの最大数は 65,535 です。次のレジストリ値を設定することにより、各プロセスで処理できる GDI ハンドルの数を制限することができます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows


値の名前 : GDIProcessHandleQuota
値の種類 : REG_DWORD
値のデータ : 10000 (デフォルトの 10 進の値)
このレジストリ値には、最小値 256 (10 進) から最大値 65536 (10 進) の間の値を設定できます。

SessionViewSize と SessionPoolSize に割り当てるメモリの合計は 512 MB 以下が理想的ですが、使用している RAM および関連する他のレジストリ値に応じて、SessionViewSize と SessionPoolSize に割り当てるメモリの量を増やすことができます。デスクトップ ヒープに割り当てるメモリの量を増やす場合、ターミナル サーバーによって非ページ プール、ページ プール、システム キャッシュなどのリソースに割り当てるメモリの量を減らすこともできます。ただし、これにより、ターミナル サーバーのパフォーマンスに影響します。また、SessionViewSize および SessionPoolSize に割り当てるメモリを増やした場合、カーネル仮想領域にマップするために割り当てられるメモリが減少します。これにより、ターミナル サーバーでサポートされるユーザー数が制限される場合があります。

プロパティ

文書番号: 840342 - 最終更新日: 2007年2月20日 - リビジョン: 3.4
この資料は以下の製品について記述したものです。
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
キーワード:?
kbwinservsetup kbprb KB840342
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com