Allowed memory size of *** exhausted が何のせいなのかわからない悩みを根絶やしにするため実行中の PHP プロセスのメモリ内容をぶっこぬくツールを作った DRANK くわしい解説 GitHub のプロジ… qiita.com a year ago Related Topics: PHP arrow_back open_in_new Open page https://qiita.com/sj-i/items/2865f212d1ab760a47fc 1 comments sji @sj_i a year ago 実行中の PHP スクリプトのメモリ内容をプロセス外から解析し、変数内容や参照関係、メモリ消費量の内訳などを把握できるスタンドアロンのツール Reli の紹介。 PHP で書かれているが、やっていることは FFI でシステムコールを呼んで別プロセスの処理系内の C 構造体のメモリレイアウトを解釈していく低レベルプログラミング。 計測対象のスクリプトに一切手を入れずに使えるが、計測対象を修正し register_shutdown_function() のハンドラ で memory_limit 超過を検知した上、自身を解析するよう起動すれば、memory_limit 超過時のメモリ消費量の内訳も分かる(ふつうは死んだ時の行とファイル以外ほぼノーヒント)。
sji @sj_i a year ago 実行中の PHP スクリプトのメモリ内容をプロセス外から解析し、変数内容や参照関係、メモリ消費量の内訳などを把握できるスタンドアロンのツール Reli の紹介。 PHP で書かれているが、やっていることは FFI でシステムコールを呼んで別プロセスの処理系内の C 構造体のメモリレイアウトを解釈していく低レベルプログラミング。 計測対象のスクリプトに一切手を入れずに使えるが、計測対象を修正し register_shutdown_function() のハンドラ で memory_limit 超過を検知した上、自身を解析するよう起動すれば、memory_limit 超過時のメモリ消費量の内訳も分かる(ふつうは死んだ時の行とファイル以外ほぼノーヒント)。
実行中の PHP スクリプトのメモリ内容をプロセス外から解析し、変数内容や参照関係、メモリ消費量の内訳などを把握できるスタンドアロンのツール Reli の紹介。
PHP で書かれているが、やっていることは FFI でシステムコールを呼んで別プロセスの処理系内の C 構造体のメモリレイアウトを解釈していく低レベルプログラミング。
計測対象のスクリプトに一切手を入れずに使えるが、計測対象を修正し register_shutdown_function() のハンドラ で memory_limit 超過を検知した上、自身を解析するよう起動すれば、memory_limit 超過時のメモリ消費量の内訳も分かる(ふつうは死んだ時の行とファイル以外ほぼノーヒント)。