このガイドでは、Linux で「vmstat」コマンドを使用するさまざまな方法を説明します。
前提条件:
このガイドで説明する手順を実行するには、次のコンポーネントが必要です:
- 正しい Linux システムを構成します。テスト目的の場合は、Linux VM の使用を検討してください。
- sudo 権限を持つ非 root ユーザーへのアクセス
- コマンドラインインターフェイスの基本的な理解
Linux の仮想メモリ
RAM (物理メモリ) は、オペレーティング システムによって実行中のプログラムに割り当てられる限られたリソースです。オペレーティング システム自体を含むすべてのプログラムがこのスペースを占有する必要があります。
メモリ要件が利用可能なメモリを超えると、システムがクラッシュしたり、プログラムがより多くのメモリ領域を要求したりする可能性があります。ほとんどの場合、この状況は望ましくありません。そこで、システムがデータの一部をハードディスクに保存し、必要なときに RAM にスワップできるようにする仮想メモリの概念が登場しました。これにより、システムはメモリ リソースをより効率的に管理できるようになり、メモリ不足によるクラッシュが発生することなくプログラムが正常に実行されるようになります。仮想メモリを使用すると、システムはメモリ要件に直面することになります
仮想メモリは、ハード ドライブまたはソリッド ステート ドライブ上のスペースを使用してメモリの容量を拡張し、必要なときに追加メモリとして機能するコンピュータ システムのテクノロジです。仮想メモリは実際には、ハード ドライブ領域の一部を一時ストレージとして使用し、プロセッサがより多くのメモリを必要としたときに補充できるようにする方法です。 UNIX および Linux オペレーティング システムでは、このテクノロジはスワップ スペースと呼ばれ、メモリ リソースの割り当てと交換を管理するために使用されます。仮想メモリは実際の物理メモリではありませんが、システムのパフォーマンスと安定性を向上させ、システムがより大きなワークロードを確実に処理できるようにします。
Linux カーネルは、メモリのブロックをスワップ領域に移動し、必要に応じて RAM に戻します。
仮想メモリは通常、物理メモリよりも遅く、ストレージ デバイスのパフォーマンスに依存します。ただし、特定のハードウェア設定 (NVMe SSD の使用など) では、仮想メモリのパフォーマンスが RAM と同等になる場合があります。
vmstat コマンド
「vmstat」コマンドは、仮想メモリ関連情報を監視するためのユーティリティツールです。これは、「sysstat」パッケージの一部としてすべての Linux システムで利用できます。
「vmstat」のコマンド構造は以下のとおりです。
$vmstat
基本的な使い方
パラメータを指定せずに実行すると、「vmstat」は最後の起動以降のシステム情報を出力します:
$vmstat
出力は 6 つの部分に分かれています:
- procs: 現在実行中のプロセスの統計
- r: アクティブなプロセスの数
- b:スリーププロセス数
- memory: メモリ使用量の統計
- Swpd: 合計仮想メモリ (スワップ領域)
- 無料: 利用可能なスワップ スペース
- buff:一時バッファメモリとして使用されるスワップスペースの量
- キャッシュ: 合計キャッシュ メモリ
- swap: スワップ領域に関する統計
- io: I/O統計
- bi: ブロックデバイスから受信したブロック数
- bo: ブロックデバイスに送信されたブロックの数
- システム: スケジュール統計
- in: システム割り込み数
- cs: コンテキストスイッチレート
- CPU: さまざまな CPU 統計情報
- 米国: カーネル以外のプロセスに費やされる CPU 時間
- sy: カーネル プロセスに費やされた CPU 時間
- id: CPU はアイドル状態で時間を費やします
- wa: CPU は I/O 操作が完了するまで待機するのに時間を費やします
- st: 仮想マシンが使用した CPU 時間
#表示単位の変更
デフォルトでは、「vmstat」はメモリ値をバイト単位で報告します。単位を変更するには、「-S」フラグを使用します:
$vmstat-S
ここで、「vmstat」は値を MB 単位で出力します。
いくつかのメモリ ユニットが利用可能です:
M: 1048576 バイト (2^20 バイト) -
M: 1000000 バイト (1000 キロバイト) -
K: 1024 バイト (1 メガバイト)-
k: 1000バイト(1バイト) -
統計の継続的な更新
デフォルトでは、「vmstat」はレポートを 1 回印刷します。ただし、「vmstat」に、指定した間隔 (秒単位) で継続的なレポートを提供するように指示できます。
コマンドの構造は次のとおりです:
$vmstat
たとえば、2 秒ごとに更新された統計を取得するには、コマンドは次のとおりです:
$vmstat 2
「Ctrl C」を使用して手動で終了しない限り、出力は停止しません。
あるいは、「vmstat」を指定して、特定の回数の統計を提供することもできます。
$vmstat
たとえば、2 秒ごとに更新される統計を取得するには、コマンドは次のとおりです。
$vmstat 2 5
アクティブなメモリと非アクティブなメモリ
アクティブ メモリとは、プロセスによって現在使用されているメモリ空間を指します。一方、非アクティブなメモリとは、実行されなくなったプロセスに割り当てられたメモリ空間を指します。
「vmstat」を使用すると、使用されているアクティブなメモリと非アクティブなメモリの量を確認できます:
$vmstat—a
ここでは、「buff」列と「cache」列がそれぞれ「inact」列と「active」列に置き換えられます。
メモリとスケジュール
メモリとスケジュールに関するより詳細なレポートを取得するには、次のコマンドを使用します。
$vmstat—s
###ここ:###
- セクション 1: このセクションでは、合計物理メモリ、アクティブ/非アクティブ メモリ、空き/バッファ/キャッシュ メモリなどの基本的なシステム情報を紹介します。
- セクション 2: さまざまな CPU 統計
- Non-good CPU Beats: 優先度の高いプロセスが CPU を使用した回数。
- NICE CPU TICK: 優先度の低いプロセスが CPU を使用した回数。
- システム CPU 数: カーネル プロセスが CPU を使用した回数。
- アイドル CPU ティック: CPU がアイドル状態になった回数。
- IO—待機 CPU ティック: CPU が I/O 管理を待機する回数。
- IRQ: CPU が割り込み要求を受信した回数。
- softirq: CPU がソフトウェア割り込み要求を受信した回数。
- Stolen CPU Time: VM が CPU 時間を盗んだ回数。
- セクション 3: メモリ ページングのステータス
- セクション 4: イベントカウンター
ポストブートフォーク
フォークとは、既存のプロセスから生成されたプロセスを指します。フォーク数の統計を取得するには、次のコマンドを実行します:
$vmstat-f
ディスクとパーティションの統計
「vmstat」コマンドは、ディスクのアクティビティに関する情報も提供します。ディスクアクティビティの簡単な概要を取得するには、次のコマンドを実行します:
$vmstat—D
ディスクアクティビティのより詳細なレポート (読み取り/書き込み統計を含む) を取得するには、代わりに次のコマンドを使用します。
$vmstat—d
###ここ:###
###読む
total: 合計ディスク読み取り数-
マージ済み: グループ読み取りの合計数-
sectors: 読み取られたセクターの総数-
ms: ディスクからのデータ読み取りの合計時間 (ミリ秒) -
-
### 書きました
合計: ディスク書き込み数
- マージ済み: グループ書き込みの合計数
- sectors: 書き込まれたセクターの総数
- ms: ディスクへの合計書き込み時間 (ミリ秒)
-
- io
cur: 現在のディスク読み取り/書き込み合計数
- Seconds: 進行中の読み取り/書き込み操作に費やされた時間 (秒)
-
-
「vmstat」コマンドは、特定のディスク パーティションに関するレポートを生成することもできます。パーティション レポートを取得するには、次のコマンド構造を使用します:
$vmstat-p
プレート統計
ボード割り当ては、効率的なオブジェクト メモリ割り当てメカニズムです。スラブ割り当てにより、以前のメカニズムと比較して、(メモリの割り当てと割り当て解除によって引き起こされる) メモリの断片化が軽減されます。
システムのスラブ統計を確認するには、次の「vmstat」コマンドを使用します。
$sudo vmstat—m
統計を表示するには root アクセスが必要であることに注意してください。
###ここ:###
キャッシュ: キャッシュされたデータの名前
Num: Num キャッシュ内のアクティブなオブジェクトの数
Total: 特定のキャッシュ内のオブジェクトの合計数
- サイズ: キャッシュ オブジェクトのサイズ
- ページ: キャッシュされたオブジェクトを含むメモリ ページ数
-
#########結論は#########
このガイドでは、「vmstat」コマンドのさまざまな使用方法を示します。仮想メモリに加えて、「vmstat」はディスク統計、フォーク、シャードなども報告できます。 -
他のシステム監視ツールについて知りたいですか? HTOP、KILL、PS などの詳細については、こちらをご覧ください。 -
ハッピーコンピューティング!
以上がLinux Vmstat コマンドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。