8.2.1 ユーザサーバのトラブルの場合
ユーザサーバにトラブルが起こったときの処置について説明します。
(1) ユーザサーバを開始できないとき
メモリの容量が不足しているときは,そのことを知らせるメッセージが出力されます。
共用メモリが不足したときは,TP1/LiNKをいったん正常終了させてから,再び開始させてください。
プロセス固有メモリが不足したときは,稼働中の不要なユーザサーバを停止させてください。不要なユーザサーバがないときは,Windowsの仮想メモリページファイルを拡張してください。
デスクトップヒープが不足したときに不要なプロセスがある場合は,そのプロセスを停止させてください。不要なプロセスがない場合は,Windowsのデスクトップヒープ領域を拡張してください。
プロセスの起動とサーバマシンのログオフ処理が重なると,プロセスの起動に失敗することがあります。プロセスが頻繁に生成されるTP1/LiNK起動時などは,該当するサーバマシンでのログオフ操作を控えてください。
SPPの起動時に,KFCA00830-EメッセージおよびKFCA01812-Eメッセージが出力されて,SPPの起動に失敗することがあります。このメッセージは[システム環境設定]ウィンドウのサーバ数のSPPに指定したプロセス数よりも多くSPPを起動しようとした場合に出力されます。このメッセージが出力された場合は,該当する指定を見直して,TP1/LiNKを正常開始させてください。
ユーザサーバが終了状態0x00000080または0xC0000135でダウンする場合は,UAPの実行に必要なDLLのパスが設定されていないか,マニフェストファイルがないか,またはマニフェストファイルに記載されているライブラリを参照できません。この場合は,次の対処をしてください。
-
UAPの実行に必要なDLLのパスを設定してください。詳細については,「3.1 TP1/LiNKの実行環境の設定」の[サーチパス]欄を参照してください。
-
マニフェストファイル,またはライブラリを確認してください。詳細については,「5.10.4 UAPのコンパイルとリンケージ」を参照してください。
(2) ユーザサーバを終了できないとき
ユーザサーバの状態を表示([TP1/LiNKアプリケーション管理SPP]ウィンドウまたは[TP1/LiNKアプリケーション管理SUP]ウィンドウを表示)して,終了しない原因を確認してください。確認したあと,強制的に終了させる必要があるときは,ユーザサーバを強制停止する操作をしてください。
(3) ユーザサーバが異常終了したとき
TP1/LiNKとユーザサーバのどちらに原因があるかを示すメッセージが表示されます。
ユーザサーバに原因があるときは,プログラムを修正したあとで再び開始させてください。
TP1/LiNKに原因があるときは,OpenTP1管理者または保守員に連絡してください。
(4) 通信障害が発生したとき
TP1/LiNKのRPCでは,TCP/IPのコネクション設定処理を12秒で監視しています。
WANを経由した遠隔地との通信などで,伝送効率の悪いネットワークを使用した場合,通信障害が発生することがあります。この場合,問題の発生しているSPPまたはSUPの,TP1/LiNKインストールフォルダ\conf\ユーザサーバ名ファイルに,次に示す定義を追加する必要があります。
- 形式
set ipc_conn_interval = コネクション確立時の最大監視時間 〜〈符号なし整数〉((0〜65535))(単位:秒)
- 説明
-
データ送信時のコネクション確立監視時間を秒単位で指定します。ノンブロッキングモードで呼び出したconnect()システムコールに対する応答を受信するまでの監視時間を指定します。なお,12秒(デフォルト値)未満の値を指定した場合は,SYN再送によるコネクション確立に失敗するおそれがあるため,12秒以上の値を指定することを推奨します。
- 定義例
-
定義の最終行には改行を入力してください。
# TP1/LiNK (spp) # コメント = TP1/LiNK sample SPP (C Language) set module = "SPP" set type = other set service_group = "LINK_SVG_C" set receive_from = queue set nice = 0 set atomic_update = N set parallel_count = 1,1 set balance_count = 3 set schedule_priority = 8 set message_buflen = 2048 set message_store_buflen = 6144 set service = "refer=refer",\ "update=update" set ipc_conn_interval = 60