[pgsql-jp: 30738] Re: UPDATE文をきっかけにサーバの子プロセスが全てダウン
sugita @ sra.co.jp
sugita @ sra.co.jp
2003年 8月 9日 (土) 18:11:05 JST
杉田です。
From: Noriyuki TAKEI <noriyuki.takei @ jalinfotec.co.jp>
Subject: [pgsql-jp: 30737] Re: UPDATE文をきっかけにサーバの子プロセスが全てダウン
Date: Sat, 09 Aug 2003 16:11:36 +0900
;;; > syslog に OS からのメッセージで関連しそうなのはありませんか? lsof で見て、ど
;;; > のくらいのファイルが PostgreSQL のバックエンドでオープンされていますか? もし、
;;; > 多ければ、max_files_per_process=50 にするとどうなるか試せますか?
;;;
;;; このエラーが発生する直前に下記のエラーが頻発していることがわかりました。
;;;
;;; _mdfd_getrelnfd: cannot open relation pg_opclass_oid_index: 許可がありません
;;; _mdfd_getrelnfd: cannot open relation pg_proc: 許可がありません
;;;
;;; relation pg〜という名前のファイルが多数オープンできないという旨を
;;; 示すログが頻繁に出力されております。
具体的なメッセージを教えてもらえますか?
;;; 同様にエラー発生時にPHPを動作させたときに以下のようなエラーが画面上に
;;; 出力されました。
;;;
;;; Warning:
;;; Unknown(/home/shuttai/www/pub/display/script/catv/catv_disp.php): failed
;;; to open stream: Permission denied in Unknown on line 0
;;;
;;; Warning: (null)(): Failed opening '/home/shuttai/www/pub/display/script/catv/catv_disp.php' for inclusion (include_path='.:/php/includes:/home/shuttai/www/config:/home/shuttai/www/modules') in Unknown on line 0
;;;
;;; どれもファイルをオープンするときのエラーでPostgreSQLやPHP側からも
;;; 似たようなエラーを吐いているため、やはりカーネルがファイル
;;; ディスクリプタを使い切っているという線で洗ってみたのですが、
;;;
;;; lsof | wc -l
;;;
;;; で調べたところ
;;;
;;; 3064
これのみでは判定できないです。lsof -r 5 -c post など、として、現象発生直前か
ら直後までを調べる必要があります。
syslog への OS のメッセージはどのようでしょうか?
;;; という結果でした。1プロセスあたりの使用できるファイル数は13052と
;;; 設定されているので、
1 プロセスあたりで使用できるファイル数を 13052 とすることをどのようにして設
定したのでしょうか?
;;; ファイルディスクリプタは使い切ってないと
;;; 思われます。
これは、まだ、そのように判定できないと思えます。
Kenji Sugita
pgsql-jp メーリングリストの案内