zoukankan      html  css  js  c++  java
  • vmstat和iostat

    一.vmstat
    1.命令示例
    #vmstat 5
    每5秒输出一次

    2.输出详解
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
    r b swpd free buff cache si so bi bo in cs us sy id wa st
    0 0 168 2226204 538428 11535444 0 0 1 30 0 0 7 1 91 1 0
    1 0 168 2210472 538428 11535536 0 0 1 398 2398 2447 15 1 83 1 0
    1 0 168 2195204 538432 11535748 0 0 0 302 1695 2151 18 1 80 1 0
    1 0 168 2194516 538432 11535812 0 0 0 238 1725 1630 10 1 88 1 0
    0 0 168 2213564 538432 11535924 0 0 0 731 1938 1387 9 1 89 2 0
    0 0 168 2230240 538436 11536060 0 0 13 245 2179 1503 12 1 87 1 0
    5 0 168 2247308 538436 11536160 0 0 1 294 1602 1631 9 1 89 1 0

    proc
    栏r显示有多少进程在等待cpu时间,栏b显示处于不可中断的休眠的进程数量这通常意味着I/O等待

    memory
    swpd显示被交换到磁盘的数据库数量,剩下的三列显示未使用的数据库的数量,用于缓存的数据块的数量,用于操作系统的数据块的数量

    swap
    显示了交换动作:操作系统每秒从磁盘上交换到内存和从内存交换到磁盘的数据块数量.监视该项比swpd重要的多.
    大部分情形下si和so都应该是0,并且每秒不超过10个数据块.

    IO
    每秒从设备读入(bi)和写入(bo)到设备的数据块数量,这通常能反应磁盘IO

    system
    显示了每秒发生中断的数量(in)列和上下文交换的数量(cs)

    cpu
    us列:运行用户代码时间
    sy:系统代码时间
    id:空闲
    wa:等待io的cpu时间
    st:如果使用了虚拟化,显示了从虚拟机偷来的百分比

    二.iostat
    1.命令示例
    #iostat -dx 5

    每隔5秒监控显示一次

    2.输出示例
    Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
    sda 0.20 39.90 0.51 20.96 21.51 486.93 23.68 0.04 1.72 1.00 2.14
    sda1 0.00 0.00 0.00 0.00 0.00 0.00 5.76 0.00 66.30 48.68 0.00
    sda2 0.03 30.04 0.40 18.44 13.64 387.85 21.31 0.02 1.10 0.73 1.37
    sda3 0.00 0.00 0.00 0.00 0.00 0.00 161.04 0.00 36.44 23.50 0.00
    sda4 0.00 0.00 0.00 0.00 0.00 0.00 2.00 0.00 7.00 7.00 0.00
    sda5 0.17 9.86 0.11 2.53 7.87 99.08 40.63 0.02 6.11 7.57 1.99


    %util,通常显示了设备的利用率

    计算并发
    并发 = (r/s + w/s)*(svctm/1000)

    并发 = (avgqu-sz * svctm) / await


    三.CPU密集型和IO密集型
    1.cpu密集型
    #vmstat 5

    通常cs列,上下文切换会很大,us列已达到80%以上

    #iostat -dx 5
    则显示磁盘利用率(%util列)不足50%


    2.io密集型
    #vmstat 5
    wa列很高

    #iostat -dx 5
    %util列很高

  • 相关阅读:
    SpringMVC:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax;
    SpringMVC DELETE,PUT请求报错 添加支持Http的DELETE、PUT请求
    HashMap源码总结
    ArrayList动态扩容大小
    Java中的可选操作
    Java中深拷贝与浅拷贝理解
    String在内存中如何存储
    异常处理—checked exception 和 unchecked exception
    Comparable和Comparator区别
    Scanner类与Readable接口
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6133841.html
Copyright © 2011-2022 走看看