[pgsql-jp: 30737] Re: UPDATE文をきっかけにサーバの子プロセスが全てダウン
Noriyuki TAKEI
noriyuki.takei @ jalinfotec.co.jp
2003年 8月 9日 (土) 16:11:36 JST
武井です。
> 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
という結果でした。1プロセスあたりの使用できるファイル数は13052と
設定されているので、ファイルディスクリプタは使い切ってないと
思われます。
--
Noriyuki Takei <noriyuki.takei @ jalinfotec.co.jp>
pgsql-jp メーリングリストの案内