GNU/Linux >> Linux の 問題 >  >> Linux

Linuxコマンド:vmstatを使用した仮想メモリの探索

Linuxのシステム統計に関しては、多くのコマンド、ツール、および2つのバリエーションがあります。ただし、仮想メモリに関する詳細が必要な場合は、vmstatを使用する必要があります 。

なに?

vmstatとも呼ばれる仮想メモリ統計レポーター は、システム情報のさまざまなビットを報告するLinuxコマンドラインツールです。提供される情報の配列には、メモリ、ページング、プロセス、IO、CPU、ディスクスケジューリングなどがすべて含まれています。

vmstatを実行する場合 、最初のレポートは、最後の再起動時以降に要求された情報の平均であることに注意してください。後続のレポートでは、遅延の測定値を使用します およびカウント 。特に構文の議論でそれらをカバーします。

コマンド構文

vmstatの構文 コマンドはかなり単純です:

$ vmstat [options] [delay [count]]

  • オプション-これらについては、次のセクションで詳しく説明します。
  • 遅延-これは、更新間の時間間隔を定義します。遅延が指定されていない場合、レポートは最後の再起動以降の平均として実行されます。
  • カウント-これは、指定された遅延間隔の後に出力される更新の数を定義します。カウントが設定されていない場合、x秒ごとに無数の更新がデフォルトになります(x =遅延)。

基本的な出力とその意味を理解する方法

このコマンドの最も基本的な形式は、オプションをまったく使用しません。標準出力とその読み方は次のとおりです。

[tcarrigan@rhel ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 6012852   2120 817048    0    0  2805   289  797  657 21  7 71  1  0

プロセス、メモリ、スワップ、IO、システム、およびCPUに関する情報が表示されます。コマンドのマニュアルページには、次のように記載されています(man vmstat ):

- Procs
     - r: The number of runnable processes (running or waiting for run times)
     - b: The number of processes in uninterruptible sleep. 
 - Memory
     - swpd: the amount of virtual memory used. 
     - free: the amount of idle memory
     - buff: the amount of memory used as buffers
     - cache: the amount of memory used as cache. 
     - inact: the amount of inactive memory. (-a option)
     - active: the amount of active memory. (-a option)
 - Swap
     - si: Amount of memory swapped in from disk (/s). 
     - so: Amount of memory swapped to a block device (/s). 
 - IO
     - bi: Blocks received from a block device (blocks/s). 
     - bo: Blocks sent to a block device (blocks/s). 
 - System
     - in: The number of interrupts per second, including the clock. 
     - cs: The number of context switcher per second. 
 - CPU
     - These are percentages of total CPU time. 
     - us: Time spent running non-kernel code. (user time, including nice time)
     - sy: Time spent running kernel code. (system time)
     - id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time. 
     - wa: Time spent waiting for IO.  Before Linux 2.5.41, included in idle.
     - st: Time stolen from a virtual machine.  Prior to Linux 2.6.11, unknown.

ここでの重要な情報の中には、システムの空きメモリの量と、現在発生しているスワップアクティビティの量があります。

知っておくべきオプション

-a オプションを選択すると、システムのアクティブメモリと非アクティブメモリが提供されます。

[tcarrigan@rhel ~]$ vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 6022104 609656 1185980    0    0   180    40   80   79  1  1 98  0  0

-f オプションを選択すると、起動後のフォークの数がわかります:

[tcarrigan@rhel ~]$ vmstat -f
         2911 forks

フォークは、アクティブなままで別のプロセスを生成するプロセスであることに注意してください。

-s オプションは、さまざまなメモリ統計とCPUおよびIOイベントカウンタを表示します:

[tcarrigan@rhel ~]$ vmstat -s 
      8161656 K total memory
      1216012 K used memory
      1186276 K active memory
       609632 K inactive memory
      6021980 K free memory
         2120 K buffer memory
       921544 K swap cache
      3145724 K total swap
            0 K used swap
      3145724 K free swap
         5888 non-nice user cpu ticks
          476 nice user cpu ticks
         1520 system cpu ticks
       529965 idle cpu ticks
          331 IO-wait cpu ticks
          939 IRQ cpu ticks
          103 softirq cpu ticks
            0 stolen cpu ticks
       755494 pages paged in
       167719 pages paged out
            0 pages swapped in
            0 pages swapped out
       365026 interrupts
       374126 CPU context switches
   1590618807 boot time
         2952 forks

-d オプションは、さまざまなディスクの読み取り/書き込み統計を提供します:

[tcarrigan@rhel ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
sda    17019     40 1498524   10680   4683   1050  335510    1561      0     10
sdb      105      0    6232      67      0      0       0       0      0      0
sdc      105      0    6232      59      0      0       0       0      0      0
sr0        0      0       0       0      0      0       0       0      0      0
dm-0   16677      0 1469065   12431   5713      0  336816    2485      0     10
dm-1      98      0    4440      39      0      0       0       0      0      0

-t オプションは、更新のたびにタイムスタンプ情報を提供します。ここに表示されます:

[tcarrigan@rhel ~]$ vmstat -t 5 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 EDT
 1  0      0 6021412   2120 921548    0    0   118    26   62   66  1  0 99  0  0 2020-05-27 19:00:11
 0  0      0 6021300   2120 921548    0    0     0     0  349  510  1  0 99  0  0 2020-05-27 19:00:16
 0  0      0 6021272   2120 921548    0    0     0     2  196  294  0  0 100  0  0 2020-05-27 19:00:21
 0  0      0 6021272   2120 921548    0    0     0     0  110  161  0  0 100  0  0 2020-05-27 19:00:26
 0  0      0 6021272   2120 921548    0    0     0     0  112  169  0  0 100  0  0 2020-05-27 19:00:31
 0  0      0 6021272   2120 921548    0    0     0     0  171  267  0  0 99  0  0 2020-05-27 19:00:36
 0  0      0 6021188   2120 921552    0    0     0     0  201  291  0  0 99  0  0 2020-05-27 19:00:41
 0  0      0 6021188   2120 921552    0    0     0     0  152  233  0  0 100  0  0 2020-05-27 19:00:46
 2  0      0 6021188   2120 921552    0    0     0     3  127  165  0  0 100  0  0 2020-05-27 19:00:51
 0  0      0 6021188   2120 921552    0    0     0     0   95  131  0  0 100  0  0 2020-05-27 19:00:56

タイムスタンプ情報が添付された、5秒ごとに印刷される10個の更新があることがわかります。

また、すべてのメモリ統計はデフォルトでキロバイト単位で表示されることに注意してください。

まとめ

最後に、私たちが学んだことを見てみましょう。 vmstat コマンドは、オプションの有無にかかわらず使用できる強力なシステム統計ツールです。 2つの主要な変数(遅延とカウント)を使用して更新を出力し、必要に応じてコマンドと出力をカスタマイズできます。 vmstatをご覧いただきありがとうございます。 指図。 ifstatについて説明します 今後の記事で、それに注意してください!

[無料のオンラインコース:Red HatEnterpriseLinuxの技術概要。 ]


Linux
  1. Linuxのwatchコマンドでコマンドとタスクを監視する

  2. Linuxのメモリ使用量

  3. 例を含む10以上のLinuxVIコマンド

  1. ターミネーターを使用して複数のSSHセッションにコマンドを送信する

  2. LinuxでVmstatコマンドを使用する方法を例で説明します

  3. 例で説明されたLinuxの無料コマンド

  1. 19Linuxでの一般的なSSHコマンドと例

  2. Linuxで検索および検索コマンドを使用してファイルを検索する

  3. Linux in C で共有メモリを使用する方法