スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(Windows(R)用)
(1) デスクトップヒープの指定値の求め方
デスクトップヒープの使用量はレジストリ中に指定があり,レジストリエディタで変更できます。この指定はアカウントごとの使用量を規定するもので,サーバマシン全体で48メガバイトが上限です。
- 計算式
HiRDBが起動するサーバプロセス数(pd_max_server_processの値)×a (単位:バイト) |
- aの値:
- Windows 2000,Windows XP,又はWindows Vistaの場合は5000
- Windows Server 2003の場合は100
ただし,次の点に注意が必要です。
- 指定値を大きくし過ぎると,別のアカウントで稼働している他PPの動作に影響を与える可能性があります。このため,不要に大きな値を指定しないでください。
- HiRDBが起動するプロセスは,HiRDBサーバプロセスやユーザが実行する運用コマンド,及びユティリティだけではありません。HiRDBのサーバプロセスが異常終了した後に実行する保守情報を取得するコマンドも,HiRDBが起動するプロセスとしてデスクトップヒープを使用します。このため,大量のHiRDBサーバプロセス異常終了又はキャンセル時に,デスクトップヒープ不足(サーバプロセス停止を示すKFPS01820-Eメッセージで「end state=0x8000」と表示されます)が発生した場合,デスクトップヒープ量を調整するのではなく,システム共通定義で保守情報を取得しないように変更してください。
- システムアカウントでHiRDBを稼働させている場合,OSなどほかのシステムアカウントで動作しているプログラムと同じデスクトップヒープを使用します。このため,例えばWindows 2000を使用し,デスクトップヒープの使用量が512キロバイトの場合,HiRDBが起動しているプロセスが100未満でも,HiRDBのプロセス起動時にデスクトップヒープ不足を検出する場合があります。
(2) デスクトップヒープの指定値の変更
(a) HiRDBのシステム定義で変更する場合
システム共通定義,又はユニット制御情報定義のpd_process_desktopheap_sizeオペランドで,1プロセス当たりのデスクトップヒープ消費量を指定します。
(b) レジストリエディタで変更する場合
上記の方法でデスクトップヒープ不足が解消されない場合は,レジストリエディタでデスクトップヒープの指定値を変更します。なお,レジストリエディタの使い方を誤ると重大な問題が発生することがあります。十分注意してください。また,デスクトップヒープの値は,動作環境に応じて調整する必要があります。
- HiRDBのサービスを停止します。
- レジストリエディタを使用して,非対話型デスクトップのデスクトップヒープの値を変更します。
●レジストリキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
●レジストリ値
Windows
●値
%SystemRoot%\system32\csrss.exe ObjectDirectory
=\Windows SharedSection=1024,3072,512
Windows=On SubSystemType=Windows ServerDll=basesrv,1
ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2
ProfileControl=Off MaxRequestThreads=16
変更するパラメタは,SharedSectionの3番目のパラメタ(下線)です。このパラメタが512の場合は,システムは各デスクトップに対して512キロバイトのヒープを割り当てます。3番目のパラメタが省略されている場合は,2番目の値(3,072キロバイト)を割り当てます。3番目のパラメタを「(1)デスクトップヒープの指定値の求め方」で求めた値に変更してください。この場合,pd_max_server_processの指定値が正しく見積られた値であることが前提です。
- OSを再起動します。
- HiRDBサービスを再開始します。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.