Node.jsには手動でGCを実行するためのコマンドラインオプションがある。
それが--expose-gc だ!
--expose-gc オプションを使うと、コード内から手動でガベージコレクション(GC)を実行できるようになります。
$ node --expose-gc app.js
global.gc();// この時点でGCが実行される
大量データ処理の後にメモリを解放したい時に使うことができます。
例:
// 大量のデータを処理for(let i=0; i<1000000; i++){processLargeData(data[i]);}// 処理後、次の処理に進む前にメモリを解放global.gc();// 次の処理へnextOperation();
通常はV8が自動で最適なタイミングでGCを実行するので不要ですが、「ここでメモリを解放したい」という明確な意図がある場合に限り、手動GCを使うことができる、というオプションです。
今回は自分のコードでベンチマークを取る際に--expose-gc というオプションを発見したのでまとめて見ました。
何かあればご指摘などコメントいただけると嬉しいです!
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。