PHP 処理系の garbage collection を理解する 〜メモリはいつ解放されるのか〜 by nsfisis

PHPカンファレンス福岡2023
レギュラートーク(30分)

PHP 処理系の garbage collection を理解する 〜メモリはいつ解放されるのか〜

nsfisis nsfisis nsfisis
6

Garbage collection (GC) とは、確保したメモリ領域を適切なタイミングで解放する仕組みのことです。
PHP ではメモリの確保と解放が処理系によって自動的におこなわれるため、あまり意識することはないかもしれません。
しかしながら、メモリが比較的潤沢になった今でも、メモリ溢れによるサーバ障害は決して珍しくありません。
PHP における GC を理解し、メモリを意識したプログラミングをすることで、本番サーバを夜中に落とさないようにしましょう。

主な対象

  • 普段メモリを意識してプログラミングしていないかた
  • 言語処理系の内部実装に興味があるかた
  • メモリ溢れで本番環境をダウンさせたことのあるかた

話すこと

  • PHP における GC のアルゴリズム
  • あなたが確保したメモリはいつ解放されるのか
  • メモリ溢れを意識したプログラミング

話さないこと

  • GC のパラメータをいじってカリカリにチューニングする

目標

  • PHP でメモリがいつ解放されるのかを知る
  • メモリを食い尽くす実装を避ける手段を知る