• 查看系统资源使用情况:vmstat


    vmstat命令可以动态地查看系统资源的使用情况,如内存/交换分区/CPU的使用情况,通过使用该命令可以判断系统的瓶颈在哪里:

    [root@localhost ~]$ vmstat 1 5    # 表示每隔一秒钟采集一次,总共采集五次
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----      # 分别表示:
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st      # procs --- 进程信息
     1  0      0  75812   1996 203292    0    0    66    18   13   12  0  0 99  0  0      # memory --- 内存的使用情况
     0  0      0  82480    872 197284    0    0 15652    56  592  674  1  2 75 22  0      # swap --- 交换分区的使用情况
     0  0      0  79920    872 200316    0    0  3080     0  413  530  2  1 97  0  0      # io --- 系统IO读写情况
     0  0      0  79092    896 198424    0    0 32420     0  947 1171  7  2 81 10  0      # system --- 系统相关的信息
     0  0      0  78592    896 199352    0    0   952     0  476  621  1  1 97  1  0      # cpu --- CPU的使用情况(百分比的形式)

    Procs
        r:等待运行的进程数,或者说运行队列,如果这个值长期大于1,表示CPU一直处于繁忙的状态,可以考虑加CPU了
        b:表示等待IO的进程数,也就是被阻塞的进程数

    Memory
        swpd:虚拟内存使用情况,单位是K,如果这个值一直大于零,则表明物理内存不足
        
    free:表示空闲的物理内存的大小,单位:KB/秒
        buff:用作缓冲的内存大小,单位:KB/秒
        cache:用作缓存的内存大小,单位:KB/秒

    Swap
        si:每秒从交换分区写到内存的大小,由磁盘调入内存,如果这个值一直大于零,则表明物理内存不足
        
    so:每秒写入交换分区的内存大小,由内存调入磁盘,如果这个值一直大于零,则表明物理内存不足

    IO
        bi:block in,表示从磁盘中拿出来,然后读到内存的数据块的大小,也就是读操作,单位是K
        bo:block out,表示从内存中拿出来,然后写到磁盘的数据块的大小,也就是写操作,单位是K

    System
        in:表示每秒CPU的中断次数,包括时钟中断
        cs:表示每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换

    CPU
        us:用户正在运行的进程占用CPU的百分比
        sy:系统正在运行的进程占用CPU的百分比
        id:空闲的CPU的百分比,us + sy + id 三者的百分比相加等于 100%
        wa:用于等待I/O的CPU时间所占的百分比,这个值很高时,说明IO等待比较严重
        st:被偷走的CPU百分比,如果使用到虚拟化,虚拟机就会使用到一部分CPU,这个值一般不用理会

        

         

  • 相关阅读:
    java 单例模式-饿懒汉模式
    Java注解
    Java集合
    Java数据类型
    java实现多线程三种方法
    Java并发 线程池
    spring ioc(反转控制)
    事件驱动的Java框架
    js 标签属性与导航
    input 标签和a标签实现超链接的区别
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10296446.html
Copyright © 2020-2023  润新知