私が取り組んでいるアプリケーションは、スクリプト用にV8を埋め込みます。メモリを節約するために、スクリプトコンポーネントが不要になったときにシャットダウンしたいのですが、何らかの理由でメモリがOSに戻されません。
これが私が試したことです:
1.永続コンテキストハンドルでDispose()を呼び出します
context.Dispose();
2.ガベージコレクションを強制します
while (!v8::V8::IdleNotification());
そのいずれも、プロセスのメモリ使用量に顕著な影響はありません。スクリプトがメモリを要求したときにどのように上昇するかははっきりとわかりますが、二度と下降することはありません。
でプロセスメモリ使用量を決定していps -o rss
ます。プロセスが使用しているメモリの量を把握することは、プロファイラーなしでは実際には不可能であることを私は知っていますが、V8がメモリを解放するときにrssを停止する必要があると思います。