ホームページ > 記事 > ウェブフロントエンド > Nodejsでメモリを確認する方法
Node.js は、最新のサーバーサイド プログラミング言語として、通常、大量のデータと同時リクエストを処理します。したがって、これらのアプリケーションの開発および運用のプロセスでは、アプリケーションが占有しているメモリを検出することが重要です。この記事では、Node.js でアプリケーションのメモリ使用量を確認する方法を説明します。
Node.js でメモリを使用する方法
Node.js は、ヒープ メモリとスタック メモリの 2 種類のメモリを使用します。
ヒープ メモリは、動的に割り当てられたオブジェクト (配列、オブジェクト、文字列など) が Node.js に保存される場所です。プログラムが実行されると、ヒープ メモリ内の領域が動的に適用されます。これは、ヒープ メモリのサイズが可変であるため、アプリケーションの操作やニーズに応じてサイズが変化することを意味します。
一方、スタック メモリは JavaScript 関数呼び出しを処理します。関数が呼び出されるたびに、その内部変数と引数がスタックに保存されます。関数の実行が完了すると、スタック フレームがポップされ、メモリ空間が解放されます。
Node.js のメモリ管理とガベージ コレクション
Node.js では、メモリ管理は V8 エンジンによって行われます。 V8 エンジンは Google が開発した JavaScript エンジンで、JavaScript コードのコンパイルと実行に使用されます。
Node.js では、V8 はヒープ メモリとガベージ コレクションの管理を担当します。ガベージ コレクションは、使用されなくなったメモリ領域を検出してクリアする自動プロセスです。 V8 のガベージ コレクターはマーク スイープ アルゴリズムに基づいており、プログラムの実行中に定期的にヒープ メモリをスキャンし、参照されているオブジェクトにマークを付けます。その後、参照されていないオブジェクトをクリアし、それらが占有しているスペースを解放します。
Node.js のメモリ チェック ツール
Node.js には、メモリ使用量のチェックに役立つツールが多数あります。
Node.js では、 process.memoryUsage() メソッドは、現在のアプリケーションによって使用されているメモリを検出できます。このメソッドは、現時点でのプロセスのメモリ使用量を含むオブジェクトを返します。このメソッドによって返されるオブジェクトには次のプロパティがあります。
process.memoryUsage() メソッドを使用してヒープ メモリの使用状況を定期的に確認し、アプリケーション メモリを理解できます。使用法とガベージコレクション。
次のコードは、 process.memoryUsage() メソッドを使用してメモリ使用量を確認する方法を示しています。
const used = process.memoryUsage(); for (let key in used) { console.log(`${key} ${Math.round(used[key] / 1024 / 1024 * 100) / 100} MB`); }
このコードを実行すると、現在のアプリケーションのメモリ使用量がコンソールに出力されます。
v8.getHeapStatistics() メソッドは、V8 エンジンでのヒープ メモリ割り当て、メモリのリサイクルなどに関する統計を含むオブジェクトを返します。 。 情報。
このメソッドによって返されるオブジェクトには、次のプロパティが含まれます。
次のコードは、v8.getHeapStatistics() メソッドを使用してメモリ使用量を確認する方法を示しています:
const v8 = require('v8'); const used = v8.getHeapStatistics(); for (let key in used) { console.log(`${key} ${Math.round(used[key] / 1024 / 1024 * 100) / 100} MB`); }
このコードを実行すると、ヒープ統計がコンソールに出力されます。
heapdump は、現在のメモリ ヒープのスナップショットを生成できる Node.js モジュールです。このモジュールは、アプリケーションのメモリ使用量をさらに分析するために、heapdump-YYYYMMDD_HHMMSS.heapsnapshot という名前のファイルを生成します。
heapdump モジュールを使用するには、npm を介してインストールする必要があります。ターミナルに次のコマンドを入力して、ヒープダンプ モジュールをインストールします。
npm install heapdump --save
次のコードは、ヒープダンプ モジュールを使用してメモリ スナップショットを生成する方法を示します。
const heapdump = require('heapdump'); heapdump.writeSnapshot((err, filename) => { console.log(`Heap dump written to ${filename}`); });
上記のコードはスナップショットを生成します。現在のメモリ ヒープを取得し、指定したファイルに保存します。このファイルは、さまざまなツールを使用して分析し、アプリケーションのメモリ使用量を見つけることができます。
概要
この記事では、Node.js のメモリ管理とガベージ コレクションの基本と、いくつかのツールを使用してアプリケーションのメモリ使用量を表示する方法を紹介します。大規模なアプリケーションを開発および保守する場合、メモリの使用量を理解することが非常に重要です。上記のツールを使用すると、メモリの問題の可能性を時間内に発見して解決し、アプリケーションのパフォーマンスと安定性を確保できます。
以上がNodejsでメモリを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。