[pgsql-jp: 38896] Re: 大量のデータの登録時に、メモリ不足エラー

"笹倉 雅和" sasakura @ technicalunion.co.jp
2007年 10月 26日 (金) 13:26:24 JST


笹倉です。


> > 約13万件のデータの取込みを行うと、53200:out_of_memory(メモリ不足)
> > が発生してしまします。
> 
> 「取込み」は、具体的に何を行っていますか?
> データは、サーバとクライアントの、どちらからどちらへ流れますか?
> また、エラーはサーバログに出力されていますか?
> それとも、クライアント・アプリケーション側ですか?
データの取込みと書いたのですが、正確に書きますと、
問題になっているトランザクションでは、
テーブルAに登録されているデータを元に、テーブルBに追加、または更新を
行い、テーブルAの処理済みレコードのフラグ操作(更新)を行っています。
エラーは、UPDATEを実行した時の結果としてかえってきていて、
サーバーのログ(PostgreSQL\8.2\data\pg_log)に残っています。
(ご指摘を頂いてから、ログを見てみたのですが、エラーの記録されている
 前後のログは、下記のようになっています。)

2007-10-25 15:52:39 ERROR:  out of memory
2007-10-25 15:52:39 DETAIL:  Failed on request of size 720400.
2007-10-25 15:52:39 PANIC:  ERRORDATA_STACK_SIZE exceeded

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
2007-10-25 15:52:39 LOG:  server process (PID 2408) exited with exit code 3
2007-10-25 15:52:39 LOG:  terminating any other active server processes
2007-10-25 15:52:39 LOG:  all server processes terminated; reinitializing
2007-10-25 15:52:39 LOG:  database system was interrupted at 2007-10-25 15:51:36 JST
2007-10-25 15:52:39 LOG:  checkpoint record is at 1/64027DE0
2007-10-25 15:52:39 LOG:  redo record is at 1/640080F8; undo record is at 0/0; shutdown FALSE
2007-10-25 15:52:39 LOG:  next transaction ID: 0/2421640; next OID: 1411696
2007-10-25 15:52:39 LOG:  next MultiXactId: 1; next MultiXactOffset: 0
2007-10-25 15:52:39 LOG:  database system was not properly shut down; automatic recovery in progress
2007-10-25 15:52:39 LOG:  redo starts at 1/640080F8
2007-10-25 15:52:39 LOG:  unexpected pageaddr 1/5D97E000 in log file 1, segment 100, offset 9953280
2007-10-25 15:52:39 LOG:  redo done at 1/6497DEC8
2007-10-25 15:52:40 LOG:  database system is ready
2007-10-25 16:43:40 LOG:  checkpoints are occurring too frequently (6 seconds apart)
2007-10-25 16:43:40 HINT:  Consider increasing the configuration parameter "checkpoint_segments".
2007-10-25 16:43:42 WARNING:  there is no transaction in progress
2007-10-25 16:45:33 LOG:  checkpoints are occurring too frequently (29 seconds apart)
2007-10-25 16:45:33 HINT:  Consider increasing the configuration parameter "checkpoint_segments".
2007-10-25 16:45:57 LOG:  checkpoints are occurring too frequently (24 seconds apart)
2007-10-25 16:45:57 HINT:  Consider increasing the configuration parameter "checkpoint_segments".
2007-10-25 16:46:19 LOG:  checkpoints are occurring too frequently (22 seconds apart)
2007-10-25 16:46:19 HINT:  Consider increasing the configuration parameter "checkpoint_segments".



このログを見てみると、スタックが不足しているという事なのでしょうか?


TU/笹倉





pgsql-jp メーリングリストの案内