PHPExcel
http://www.codeplex.com/PHPExcel
みんな大好きPHPExcelを使って大量帳票出力みたいのをやってたんですが、メモリ消費がすごい。すごいだけならまだしも、なんか25%くらいメモリを持っていったっきり解放されないこともある。
25%だから3~4回実行したらもうおしまいですよ。こうなるとメモリが足りないから ls も su も使えない。cd しか使えない状況に。一旦切断したらsshのプロセスすら新しく作れなくなって、レンタルサーバ業者に連絡してあわててサーバ再起動してもらいました。
こういう事態を回避するために、PHPExcel英語資料なんかをあたってみたんですが、特にメモリリークのバグが残ってる様子でもなく。別の出力プログラムでは処理後綺麗にプロセスがなくなってメモリ解放されてるし。
原因はよくわからないのですが結局たどり着いた対策はこちら
$pid = posix_getpid();
$ret = posix_kill($pid,9);
忍法微塵プロセス隠れの術!
対処療法でしかありませんがとりあえずプロセスは死んだ!
自分のプロセスを取得して殺してるだけなのでたぶん暴発することもないでしょう。
Popularity: 41% [?]
- Newer: links for 2009-02-10
- Older: links for 2009-02-06
Comments:0
Trackback+Pingback:0
- TrackBack URL for this entry
- http://pg-w.net/archives/409/trackback/
- Listed below are links to weblogs that reference
- [PHPExcel]メモリリークっぽい現象を対策。 from PenguinWanderer.net


