【Node.js24.x】Object::statfs()メソッドの使い方
statfsメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
statfsメソッドは、指定されたファイルシステムの統計情報を取得するメソッドです。このメソッドは、ファイルシステムの総データ容量、利用可能な空き容量、各ブロックのサイズ、利用可能なフリーブロック数、そして全ブロック数など、システムの現在の状態に関する詳細な情報を提供します。これらの情報は、ファイルシステムのディスク使用状況をリアルタイムで監視したり、アプリケーションが新しいデータを書き込む前に十分なストレージスペースが利用可能であるかを確認したりする際に非常に役立ちます。
システムエンジニアを目指す方にとって、サーバーの安定稼働やリソース管理は重要なスキルです。statfsメソッドから得られる情報は、ディスク容量の枯渇によるシステム障害を未然に防ぐためのアラート設定や、ストレージの最適化計画を立てる際の判断材料として活用できます。Node.jsのファイルシステムモジュールの一部として提供されており、ファイルパスを指定することで、そのパスが存在するファイルシステムの統計を取得できます。非同期的に情報を取得するため、メインスレッドをブロックすることなく効率的な処理が可能です。これにより、アプリケーションはファイルシステムの状態に基づいて適切な意思決定を行い、堅牢なシステムを構築するための基盤を提供します。
構文(syntax)
1import { statfs } from 'node:fs/promises'; 2 3// 指定されたパスのファイルシステム統計情報を非同期で取得します 4(async () => { 5 const path = '/'; // 統計情報を取得したいファイルシステムのパス(例: ルートディレクトリ) 6 const options = {}; // オプションは省略可能(例: { encoding: 'utf8' }) 7 8 try { 9 const stats = await statfs(path, options); 10 // statsオブジェクトには、ファイルシステムの種類(type)、ブロックサイズ(bsize)、 11 // 総ブロック数(blocks)、空きブロック数(bfree)などの情報が含まれます。 12 // 例: console.log('ブロックサイズ:', stats.bsize); 13 // 例: console.log('総ブロック数:', stats.blocks); 14 } catch (error) { 15 console.error(`ファイルシステム統計情報の取得中にエラーが発生しました: ${error.message}`); 16 } 17})();
引数(parameters)
path, options = { bigint: false }, callback
- path: string: ファイルシステム上のパスを指定する文字列
- options: object = { bigint: false }: オプションを指定するオブジェクト。
- bigint: boolean: true に設定すると、ファイルシステムの統計情報が BigInt 型で返されます。デフォルトは false です。
- callback: function: 処理が完了したときに呼び出されるコールバック関数。エラーオブジェクト (err) とファイルシステム統計情報 (stats) を引数に取ります。
戻り値(return)
StatsFs
このメソッドは、指定されたパスにあるファイルシステムの情報を含む StatsFs オブジェクトを返します。