Linuxのコマンド(125) - vmstatのコマンド

1.はじめにコマンド

vmstatを(仮想メモリー統計)コマンドは、仮想メモリの状態に関する統計情報を報告するために使用されます。

vmstatのが唯一の仮想メモリを監視することはできませんが、またなどの活動レター、物理メモリ、ページング、ディスク、およびCPUを監視するプロセスは、システム統計の全体的な状況で、欠点は、プロセスの詳細な分析ではありません。

vmstatコマンドは、システム管理者である、sysstatのパッケージ、RedHatのLinuxシステムは、yumを直接SYSSTATインストールしてインストールすることができますされています。

2.コマンドフォーマット

vmstat [OPTIONS] [DELAY [COUNT]]

DELAYレポート(S)との間の間隔を示しています。間隔、印刷のみ平均の統計を指定しない場合はシステムが起動してから。

COUNTは、レポートの数を表しDELAYが指定されている場合は、無制限のレポートを表し、COUNTを指定しないでください。

3.オプション説明

-a, --active
	显示活跃和非活跃内存
-f, --forks
	显示从系统启动至今的 fork 数量 。这包括 fork、vfork 和 clone 系统调用,并相当于创建的任务总数。每个进程由一个或多个任务表示,这取决于线程的使用情况
-m, --slabs
	显示 slabinfo
-n, --one-header
	只在开始时显示一次各字段名称
-s, --stats
	显示各种事件计数器和内存统计信息的表
-D, --disk-sum
	报告一些有关磁盘活动的汇总统计数据
-d, --disk
	显示磁盘相关统计信息
-p, --partition DEVICE
	显示指定磁盘分区统计信息
-S, --unit CHAR
	使用指定单位显示。CHAR 可取值有 k(1000)、K(1024)、m(1000000) 、M(1048576)。默认单位为 K(1024 Bytes)
-t, --timestamp
	将时间戳附加到每行
-w, --wide
	宽输出模式,输出大于 80 个字符/行
-h, --help
	显示帮助信息并退出
-V, --version
	显示版本信息并退出

4.一般的な例

(1)統計情報システムを示しています。

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 9120876 554900 5998224    0    0     0     6    1    2  0  0 100  0  0

procsの、メモリ、スワップ、IO、システム、CPU:vmstatのコマンドの実行結果は、6つの部分に分割されます。

出力内容は、次のようにしている意味します:

procs(进程)
r(run)
	运行或等待 CPU 时间片的进程数。如果该值长期大于服务器 CPU 的个数,则说明 CPU 资源不足
b(block)
	等待 I/O 的进程数量。该数值如果长时间大于 1,则表明系统 I/O 遇到瓶颈

memory(内存,单位 KB)
swpd
	虚拟内存(swap 空间)已使用的大小
free
	空闲的物理内存的大小
buff
	用作缓冲的内存大小,一般存放待写入磁盘的数据
cache
	用作缓存的内存大小,一般存放从磁盘中读取的数据

swap(虚拟内存,单位 KB)
si
	每秒从交换区写到内存的大小
so
	每秒写入交换区的内存大小

io(单位 块/秒)
bi
	每秒读取的块数(读磁盘)
bo
	每秒写入的块数(写磁盘)

system(系统)
in
	每秒 CPU 的中断次数,包括时钟中断
cs
	每秒上下文切换数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进行上下文切换,这个值越小越好

cpu(以百分比显示)
us
	用户进程执行时间
sy
	系统进程执行时间
id
	空闲时间(包括 IO 等待时间)
wa
	等待 IO 时间。wa 的值高时,说明 IO 等待比较严重,这可能由于磁盘大量做随机访问造成的,也有可能是磁盘出现瓶颈
st
	被偷走的 CPU 时间

統計情報(2)報告システムの1の間隔で3回。

vmstat 1 3
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 9120312 554900 5999148    0    0     0     6    1    2  0  0 100  0  0
 0  0      0 9120048 554900 5999148    0    0     0     0  836  785  0  0 100  0  0
 1  0      0 9120064 554900 5999148    0    0     0    52  834  815  0  0 100  0  0

(3)ディスプレイのアクティブおよび非アクティブメモリ。

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
 1  0      0 9124948 2119956 4194464    0    0     0     6    1    2  0  0 100  0  0

あなたは、アクティブおよび非アクティブなメモリを表示するには、-aオプションを使用すると、何が増加INACTとアクティブ、他の表示内容と同じではないを使用してコンテンツvmstatの出力オプションに加えて、表示されています。

フィールド説明:

inact:非活跃内存大小
active:活跃的内存大小

その打ち上げは何回フォークを持っているので、(4)は、システムを表示します。

vmstat -f
5245186 forks

(5)は、メモリの量とシステムアクティビティのさまざまな統計情報を表示します。

     16165976 K total memory
       491596 K used memory
      4194836 K active memory
      2119968 K inactive memory
      9124404 K free memory
       554900 K buffer memory
      5995076 K swap cache
            0 K total swap
            0 K used swap
            0 K free swap
      1660593 non-nice user cpu ticks
           26 nice user cpu ticks
      1987770 system cpu ticks
   1606632174 idle cpu ticks
       148581 IO-wait cpu ticks
            2 IRQ cpu ticks
         9090 softirq cpu ticks
            0 stolen cpu ticks
      2376421 pages paged in
     89871709 pages paged out
            0 pages swapped in
            0 pages swapped out
   1698946367 interrupts
   1672804654 CPU context switches
   1580713782 boot time
      5245774 forks

この情報は、それぞれの/ proc / meminfoにから、/ PROC / STATおよび/ PROC / vmstatの。

(6)表示ディスクの読み取りと書き込み。

vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
vda    77168  53491 3302309  349900 3094238 3196966 162673698 7600604	0   1531
vdb    34381    237 1428906  106216 257198 238871 17119528 3120952      0    117

主には/ proc / diskstatsからこの情報。

出力フィールドの説明:

disk 磁盘名

reads
total
	读取成功的数据总大小
merged
	合并的读请求数
sectors
	成功读取的扇区数
ms
	读取所花费的毫秒数

Writes
total
	写入成功的数据总大小
merged
	合并的写请求数
sectors
	成功写入的扇区数
ms
	写入所花费的毫秒数

IO
cur
	当前处于 I/O 等待的进程
s
	I/O 花费的秒数

情報スラブ(7)Viewシステム。

Cache                       Num  Total   Size  Pages
kmalloc-8192                108    128   8192      4
kmalloc-4096                407    488   4096      8
kmalloc-2048               1093   1168   2048     16
...

カーネル以来そう、非常に頻繁に破壊され、このようなiノードなどの構造、dentryは、これらのオブジェクトは、ページ(4キロバイト)のためにメモリ上に構築するたび場合は、しかし、実際には数バイトだけである多くの小さなオブジェクトが存在しますこの問題を解決するために、非常に無駄だろう、我々は同じページ内の小さな記憶領域を割り当てる方法に対処するための新しいメカニズムを導入し、そしてあなたがオブジェクトごとにページを割り当てないので、スラブは、小さなオブジェクトに割り当てることができますこれスペースを節約します。小さなカーネルオブジェクト破壊の作成は、これらの小さなオブジェクトをバッファリングするスラブは、メモリ割り当ての数を減らす、再利用することができ、非常に頻繁にあります。


リファレンス

[1] のvmstat(8)マニュアル
[2] sysstatの公式サイト
[3] パーク日(46)Linuxのブログのコマンド:. vmstatのコマンド

公開された519元の記事 ウォンの賞賛1567 ビュー202万+

おすすめ

転載: blog.csdn.net/K346K346/article/details/104488660