Skip to content
Latchkey

copy-on-write fork とは?

copy-on-write fork は、親のメモリをすぐには複製せずに子プロセスを作成します。代わりに、両者は読み取り専用としてマークされた同じ物理ページを共有します。どちらかのプロセスが共有ページを変更したときにのみ、カーネルは書き込む側のためにプライベートなコピーを作成します。これによりプロセス生成が高速になり、決して変更されないメモリのコピーを避けられます。

なぜ重要か

copy-on-write は、大きなプロセスでも fork を安価に保ちます。これは CI で多数の worker を生成するツールにとって重要です。また、子と親が食い違い始めたときにのみメモリ使用量が急増しうる理由も説明します。

関連ガイド