• 04-vmstat查看


    vmstat命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。

    1、使用vmstat --help命令查看:

    hejianping@ubuntu:~$ vmstat --help
    vmstat: invalid option -- '-'
    usage: vmstat [-V] [-n] [delay [count]]
                  -V prints version.
                  -n causes the headers not to be reprinted regularly.
                  -a print inactive/active page stats.
                  -d prints disk statistics
                  -D prints disk table
                  -p prints disk partition statistics
                  -s prints vm table
                  -m prints slabinfo
                  -S unit size
                  delay is the delay between updates in seconds. 
                  unit size k:1000 K:1024 m:1000000 M:1048576 (default is K)
                  count is the number of updates.
    -a:显示活跃和非活跃内存
    -f:显示从系统启动至今的fork数量 。
    -m:显示slabinfo
    -n:只在开始时显示一次各字段名称。
    -s:显示内存相关统计信息及多种系统活动数量。
    delay:刷新时间间隔。如果不指定,只显示一条结果。
    count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
    -d:显示磁盘相关统计信息。
    -p:显示指定磁盘分区统计信息
    -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、10241000000、1048576字节(byte)。默认单位为K(1024 bytes)
    -V:显示vmstat版本信息。

    2、实例 vmstat 10 10(在10秒内进行10次采样),主要看r参数列,排查CPU处理进程是否堵塞:

    hejianping@ubuntu:~$ vmstat 10 10
    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
    r b swpd free buff cache si so bi bo in cs us sy id wa
    5 0 162136 13602808 906324 20947420 0 0 2 169 0 0 9 1 88 1
    4 0 162136 13607604 906324 20947468 0 0 0 142 10623 12277 15 3 82 0
    4 0 162136 13606516 906324 20947548 0 0 0 475 11118 13136 15 3 82 0
    4 0 162136 13608300 906324 20948536 0 0 0 299 10912 12470 15 3 82 0
    6 0 162136 13608716 906324 20948564 0 0 0 146 10415 11688 15 3 82 0
    4 0 162136 13613492 906324 20948600 0 0 0 185 10328 11899 14 3 82 0
    4 0 162136 13607044 906324 20948680 0 0 0 696 58482 110208 32 4 64 1
    4 0 162136 13610108 906324 20948732 0 0 0 146 10301 11923 14 3 83 0
    4 0 162136 13582140 906324 20948852 0 0 0 1340 11866 13672 15 4 81 0
    4 0 162136 13566736 906324 20949876 0 0 0 180 10960 12083 15 3 82 0

    具体的参数说明:

    Procs(进程)
    r    运行队列中进程数量,这个值也可以判断是否需要增加CPU。(长期大于1)
    b    等待IO的进程数量。
    
    Memory(内存)
    swpd    使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。
    free    空闲物理内存大小。
    buff    用作缓冲的内存大小。
    cache    用作缓存的内存大小,如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小。
    
    Swap
    si    每秒从交换区写到内存的大小,由磁盘调入内存。
    so    每秒写入交换区的内存大小,由内存调入磁盘。
    注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。因为linux总是先把内存用光
    
    IO
    bi    每秒读取的块数
    bo    每秒写入的块数
    注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。
    
    system(系统)
    in    每秒中断数,包括时钟中断。
    cs    每秒上下文切换数。
    注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。
    
    CPU(以百分比表示)
    us    用户进程执行时间百分比(user time) us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。
    sy    内核系统进程执行时间百分比(system time) sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。
    wa    IO等待时间百分比 wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。
    id    空闲时间百分比
  • 相关阅读:
    std thread
    windows更新包发布地址
    How to set up logging level for Spark application in IntelliJ IDEA?
    spark 错误 How to set heap size in spark within the Eclipse environment?
    hadoop 常用命令
    windows 安装hadoop 3.2.1
    windows JAVA_HOME 路径有空格,执行软连接
    day01MyBatisPlus条件构造器(04)
    day01MyBatisPlus的CRUD 接口(03)
    day01MyBatisPlus入门(02)
  • 原文地址:https://www.cnblogs.com/hejianping/p/11018271.html
Copyright © 2020-2023  润新知