RUBY_FREE_AT_EXIT
https://bugs.ruby-lang.org/issues/19993
により
Ruby
に導入された機能
ruby
プロセス
を
shutdown
するときにすべての
メモリ
を解放する
モチベーション
ruby終了時にデフォルトでメモリは解放されない
高速に終了できる一方、
メモリリーク
の検出が難しい
ruby_memcheck
のようなツールでも検出はできるが
ヒューリスティック
なので
偽陰性
がありうる
Ruby が終了するときに、まだ生きているオブジェクトや Ruby の
仮想マシン
で使用されているメモリを特定でき、
Valgrind
によるリーク検出が可能になる
Ruby
コミュニティ
にとっての恩恵
ネイティブ gem 内のネイティブ レベルのメモリリーク検出
gem
メンテナ
にとって役立つ
Ruby アプリにおけるネイティブ レベルのメモリリークの検出
ネイティブ gem または Ruby 自体が原因の可能性がある