module function Process.#warmup

warmup -> true[permalink][rdoc][edit]

RubyVMにアプリケーションの起動が終了したこと及び、アプリケーションの最適化に適したタイミングであることを通知します。

アプリケーションがプリフォークモデルでデプロイされる場合は、最初のフォークが行なわれる前に元のプロセスで呼び出しされることが推奨されます。本メソッドが行う最適化は実装依存であり、将来的に予告なく変更される可能性があります。

CRubyではメジャーGCを実行し以下のことをします:

  1. ヒープを圧縮します
  2. GCされなかった全ての新世代オブジェクトを古い世代に昇格します
  3. 全ての文字列のcoderange([m:String#valid_encoding]などで使われる文字列の内容とエンコーディングとの整合性の情報)を事前計算します
  4. すべての空のヒープページを解放し、解放したページ数だけ割当可能なページカウンター(heap_allocatable_pages)を増分します
  5. 空のmallocページを解放するためにmalloc_trimを呼び出します