vmstat命令使用以及实验

https://access.redhat.com/solutions/1160343

vmstat简介
  • vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、IO读写、CPU活动等进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。
vmstat基本使用
vmstat 2 5
2:每2秒钟都要重新测量和报告这些值
5:这些值将被报告5次,然后程序将停止

vmstat输出

  • 字段含义
Procs
    r: 等待运行时的进程数。
    b: 处于不可中断睡眠状态的进程数。
Memory
    swpd: 虚拟内存的使用量,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。(如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能)
    free: 空闲物理内存.
    buff: 用作缓冲的内存大小.
    cache: 用作缓存的内存数量.
    inact: 非活动内存的数量. (-a option)
    active:活动内存的数量. (-a option)
Swap
    si: 从磁盘交换的内存量 (/s).
    so:  交换到磁盘的内存量(/s).
IO
    bi: 从块设备接收的块 (blocks/s).
    bo: 发送到块设备的块 (blocks/s).
System
    in: 每秒中断数,包括时钟.
    cs: 每秒上下文切换的数量。
CPU
    这些是总CPU时间的百分比.
    us: 运行非内核代码的时间。(用户CPU时间)
    sy: 运行内核代码的时间。(系统CPU时间)
    id: 空闲的时间。在Linux 2.5.41之前,这包括io等待时间。
    wa: 等待IO的时间。在Linux 2.5.41之前,包括在idle。。
    st: 时间从虚拟机中偷走。在Linux 2.6.11之前,未知。
使用vmstat测试cpu负载
  • 系统cpu占用过高的例子
    • /dev/urandom将提供由内核生成的随机数。这将导致CPU (系统cpu时间)的负载增加。与此同时,并行执行的vmstat将表明,在内核代码的执行(在本例中,是为了生成随机数)中,使用了高达67%CPU时间。
[manjingliu@localhost ~]$ dd if=/dev/urandom of=500MBfile bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 18.9506 s, 27.7 MB/s

[root@localhost manjingliu]# vmstat 3 20 
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 587484 164 298880 0 0 12 65 36 30 0 0 99 0 0
 3 0 0 441784 164 443736 0 0 0 9732 355 87 0 14 86 0 0
 4 2 0 288436 164 597672 0 0 0 43861 406 84 1 67 0 32 0
 4 2 0 275244 164 610680 0 0 0 10923 142 39 2 41 13 43 0
 1 2 0 190952 164 694860 0 0 0 28160 246 62 1 31 56 13 0
 5 1 0 164536 164 721328 0 0 0 21333 148 32 0 28 69 3 0
 4 1 0 132176 164 753688 0 0 0 26965 152 27 1 53 6 40 0
 2 0 0 61300 164 825208 0 0 0 6827 427 71 1 35 63 1 0
 1 0 0 62544 164 824164 0 0 0 27 105 77 0 1 99 0 0
 0 0 0 62544 164 824164 0 0 0 0 84 78 0 0 100 0 0
使用vmstat测试io负载
  • 高IO读负载的例子
[manjingliu@localhost ~]$ dd if=bigfile.iso of=/dev/null bs=1M
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 20.8584 s, 51.5 MB/s

[root@localhost manjingliu]# vmstat 2 20
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 75440 164 816752 0 0 11 123 36 30 0 0 99 0 0
 0 1 0 73068 164 818752 0 0 1024 0 95 85 0 1 99 0 0
 0 1 0 68028 164 823480 0 0 51224 6 358 247 0 4 50 46 0
 1 0 0 64196 164 827280 0 0 36352 39 269 199 0 3 50 47 0
 0 1 0 67856 164 827036 0 0 55808 0 385 264 0 6 49 45 0
 0 1 0 74524 164 822412 0 0 49152 0 358 209 0 5 49 46 0
 0 1 0 65052 164 831880 0 0 55296 1 369 232 0 5 51 44 0
 0 1 0 63440 164 835392 0 0 51200 0 341 222 0 5 50 46 0
 1 1 0 70376 164 828620 0 0 57344 0 379 237 0 5 50 45 0
 1 1 0 65592 164 833364 0 0 47104 0 368 173 0 4 50 47 0
 0 1 0 64552 164 834472 0 0 40960 0 348 167 0 4 49 47 0
 0 1 0 102180 164 798260 0 0 61440 0 518 254 0 6 49 45 0
 0 0 0 67876 164 833004 0 0 17408 0 244 128 0 2 79 18 0
 0 0 0 68304 164 832720 0 0 0 0 56 46 0 0 100 0 0
 0 0 0 68304 164 832712 0 0 0 0 42 35 0 0 100 0 0
  • 高IO写负载的例子
    • 与前面的示例相反,dd将从/dev/zero读取文件。oflag=dsync将使数据立即写入磁盘(而不仅仅存储在页面缓存中)。
[manjingliu@localhost ~]$ dd if=/dev/zero of=500MBfile bs=1M count=500 oflag=dsync
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 12.2937 s, 42.6 MB/s

[root@localhost manjingliu]# vmstat 3 20 
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 587316 164 299512 0 0 12 26 35 30 0 0 99 0 0
 1 0 0 550856 164 334948 0 0 0 11448 151 143 0 2 92 6 0
 0 1 0 424788 164 461024 0 0 0 41199 562 388 0 9 52 39 0
 1 0 0 334496 164 551276 0 0 0 29042 388 307 0 5 55 40 0
 1 0 0 200660 164 685200 0 0 0 43567 512 438 0 6 59 35 0
 0 0 0 61508 164 824912 0 0 0 45613 415 444 0 5 55 39 0
 0 0 0 61524 164 824952 0 0 0 0 88 80 0 0 100 0 0
 0 0 0 61524 164 824952 0 0 0 0 90 85 0 0 100 0 0

-S选项可以设置数据的单位,如:vmstat -S M 2 20

猜你喜欢

转载自blog.csdn.net/u012570105/article/details/81514768
今日推荐