[解決済み] node.jsのガベージコレクタの実行を要求する方法とは?
2023-06-29 03:09:21
質問
起動時にnode.jsのアプリが約200MBのメモリを使用しているようです。しばらく放っておくと、約 9MB にまで減ります。
アプリ内から可能でしょうか。
- アプリが使用しているメモリの量を確認しますか。
- ガベージコレクタの実行を要求しますか?
私が尋ねる理由は、私はディスクから多くのファイルをロードし、それらは一時的に処理されます。これはおそらく、メモリ使用量を急増させる原因です。しかし、GC が実行されるまで、さらにファイルをロードしたくありません。そうでなければ、メモリ不足になるリスクがあります。
何か提案はありますか?
どのように解決するのですか?
ノードプロセスを起動する際に
--expose-gc
フラグで起動した場合、次に
global.gc()
を呼び出してnodeにガベージコレクションを実行させます。 GCが完了するまで、nodeアプリ内の他のすべての実行は一時停止されることに留意してください。
フラグなしでnodeが実行された場合、事態が悪化しないように、コード内からGC呼び出しを行う際にチェックを含めたいかもしれません。
try {
if (global.gc) {global.gc();}
} catch (e) {
console.log("`node --expose-gc index.js`");
process.exit();
}
関連
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] javascriptでオプションのパラメータを扱う
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] node.jsの正しい "max-old-space-size "はどのように決定するのですか?
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] イテレータでmap()を使用する
-
[解決済み] javascriptでオプションのパラメータを扱う
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?