アルプスシステムインテグレーション株式会社[ALSI(アルシー)]
キーワード検索
キーワード
製品名
カテゴリ
含まないキーワード
カテゴリ検索
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
よく検索されるキーワード
FAQ
タイトル
ファイルディスクリプタが不足し、Webアクセス不能となってしまう。
No.1584  日付:2014-10-27 17:00:00

回答 OSがInterSafeWebFilter(以下ISWF)に割り当てているファイルディスクリプタが不足すると、
リクエスト処理に失敗し、ブラウザ上に503エラーが表示されることがあります。
ファイルディスクリプタが不足すると、ログに以下のメッセージが出力されます。

●Ver7.0 SP1まで
InterSafe_sys.log に「~Too many open files...」というメッセージが出力されます。

●Ver8.0以降
InterSafe_proxy.logに「~Too many open files...」
  または、
InterSafe_filtering.logに「042630 Failed accept connection.[errno = 24:UNKNOWN]」
というメッセージが出力されます。

回避方法は下記となりますので、ご確認ください。
 
【回避方法】
 
ISWFのフィルタリングサービスが使用するファイルディスクリプタを変更することで
回避できる場合があります。
Ver8.5の場合system.infの編集になります。
Ver8.0以下の場合フィルタリングサービスの起動シェルを、次のようにエディタで編集して、
ファイルディスクリプタを変更する「ulimit」コマンドの記述を挿入してください。
(赤文字の個所のように追記します。)

●Ver8.5の場合
 デフォルトで32768という値を設定しておりますので、変更の必要はほとんどございません。
 編集される場合は以下のファイルで行います。
   ●編集するファイル
      /<InterSafe導入ディレクトリ>/conf/sys/system.inf
   ●設定箇所
    [SYSTEM_GLOBAL]
    LIMIT_NOFILE=32768(初期値)
       ※上記キーは隠しキーとなっているため、デフォルトでは記載されておりません。

     設定変更後はフィルタリングサービスの再起動をお願いいたします。

●Ver8.0の場合
  
※Ver8.0はSolarisOSには対応しておりません。
 /<ISWFインストールディレクトリ>/bin/amsproxy
 /<ISWFインストールディレクトリ>/bin/amsproxyexe
 /<ISWFインストールディレクトリ>/bin/amsproxysd

 -----------------------
 <省略>
 # BEGIN INITIALIZE
 CUR_PATH=`pwd`
 BIN_PATH=`dirname "${0}"`
 BIN_NAME=`basename "${0}"`

 ulimit -n ファイルディスクリプタ数

  "${BIN_PATH}"
 <省略>
 -----------------------
 ※挿入箇所は全ての起動シェルで共通です。

●Ver7.0の場合
 /<ISWFインストールディレクトリ>/bin/amsproxyexe
 -----------------------
 PATH="${JAVA_HOME}/bin:$PATH"
 export PATH
 
 ulimit -n ファイルディスクリプタ数
 -----------------------

●Ver5.0~Ver6.0の場合
 /<ISWFインストールディレクトリ>/bin/amsproxyexe
 -----------------------
 PATH="${prefix}/jre/bin:$PATH"
 export PATH
 
 ulimit -n ファイルディスクリプタ数
 -----------------------
 
「ulimit -n」で指定するファイルディスクリプタ数がフィルタリングサービスで
使用するプロセス数の3倍以上になるように設定してください。
(例えば、1500 を設定したい場合、ulimit -n 1500 と記述します。)
「ulimit」コマンド設定後は、フィルタリングサービスを再起動してください。

(設定例:Proxy版の場合)
 /<ISWFインストールディレクトリ>/conf/proxy.inf
 [PROXY_PORT]
 HTTP=8080,500
 HTTPS=8443,75
 FTP_OVER_HTTP=8021,75
 
上記の場合、(500 + 75 + 75) * 3 = 1950 となりますので、1950(以上)を設定します。
 
(設定例:Squid版、ICAP版の場合)
 
 /<ISWFインストールディレクトリ>/conf/proxy.inf
 [CONTROL_CFG]
 SERVER_PROCESS=500

上記の場合、500 * 3 = 1500 となりますので、1500(以上)を設定します。
 
※注意事項
・OS側の設定で「ulimit」コマンドの設定を増加している場合でも、ISWF側の設定値が
 有効になりますので、必ずOS側の設定値よりも大きい値を設定してください。
 Linuxでは、「ulimit」コマンドの初期値は1024となっております。
・ISWFサーバごとに「ulimit」コマンドの設定が必要となります。
・バージョンアップの際は起動シェルが上書きされ、「ulimit」コマンドの指定が
 削除されます。既に指定済みで、バージョンアップを行う場合は、
必ず、再指定してください。
対象製品 InterSafe WebFilter
対象バージョン 5.0 , 6.0 , 6.5 , 7.0 , 8.0 , 8.5 対象ビルド Unix系OSのみ
一般情報
アンケートにご協力ください