背景
--max-old-space-size
について調べていた所、間違えて--max-semi-space-size
を調べた為です。
max-semi-space-sizeとは
--max-semi-space-size=SIZE (in megabytes)
V8のscavengeガベージ・コレクタの最大半空間サイズを MB(メガバイト)で設定するオプションです。
これによって多くのメモリを消費する代償として、Node.jsのスループットが向上する可能性があります。
〜V8〜
Node.jsを動かすエンジンです。
JavaScriptはV8によって内部的にJIT(ジャスト・イン・タイム)コンパイルされ、実行速度を高めています。
引用
〜ガーベッジコレクション〜
コンピュータプログラムの実行環境などが備える機能の一つで、実行中のプログラムが占有していたメモリ領域のうち不要になったものを自動的に解放し、空き領域として再利用できるようにするもの
引用
〜スループット〜
単位時間あたりに処理できるデータ量
引用
〜半空間(semi-space)〜
ガベージ・コレクションのコピーのためにメモリ領域が2つの部分に分割される場合、その部分は半空間、または単に空間として知られていいます。
各半空間はメモリの連続した領域である。半空間は通常2つのスペース・コレクションに使用されるが、世代別コレクションに使用することもできます。
ガベージ・コレクションの開始時にオブジェクトが存在する半空間はfromspaceと呼ばれ、tospaceはガベージ・コレクションが完了したときにオブジェクトが存在し、新しいオブジェクトが割り当てられる場所です。
引用
〜メモリ〜
メモリとは、プロセッサが直接アクセスできる(メモリ・アドレッシング命令を使用する)メモリを指します。
これは実メモリである場合もあれば、仮想メモリである場合もあります。
引用
〜実メモリ〜
メモリまたはストレージ(またはストア)とは、データや命令が保存される場所である。例えば、キャッシュ、メインメモリ、フロッピーディスク、ハードディスクはすべて記憶装置です。
これらの用語は、データを保存するシステムの容量にも使用され、コンピュータに接続されているすべての記憶装置の合計に適用されることもあります。
引用
V8ヒープの若い世代のサイズは半空間のサイズの3倍です。
つまり半空間への1MiBの増加は3つの個々の半空間それぞれに適用され、ヒープサイズが3MiB増加します。
--max-semi-space-sizeのデフォルト値
64ビットシステム:16MiB
32ビットシステム:8MiB
だそうです。
MiB(Mebibyte)をMBに換算する方法
1MiB=2の20乗B
1MB=100万B
↓
1MiB=1.049MB
引用