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の技術概要。 ]