zoukankan      html  css  js  c++  java
  • vmstat和iostat命令进行Linux性能监控

    这是我们正在进行的Linux命令和性能监控系列的一部分。vmstatiostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris)。

    如果vmstatiostat命令在你的系统中不可用,请安装sysstat软件包。vmstatsariostat命令都包含在sysstat(系统监控工具)软件包中。iostat命令生成CPU和所有设备的统计信息。你可以从这个连接中下载源代码包编译安装sysstat,但是我们建议通过YUM命令进行安装。

    在Linux系统中安装sysstat

    1. #yum -y install sysstat
    • vmstat - 内存,进程和分页等的简要信息。
    • iostat - CPU统计信息,设备和分区的输入/输出统计信息。

    Linux下vmstat命令的6个范例

    1. 列出活动和非活动的内存

    如下范例中输出6列。vmstat的man页面中解析的每一列的意义。最重要的是内存中的free属性和交换分区中的siso属性。

    1. [root@tecmint ~]# vmstat -a
    2.  
    3. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
    4. r b swpd free inact active si so bi bo in cs us sy id wa st
    5. 1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
    • Free – 空闲的内存空间
    • si – 每秒从磁盘中交换进内存的数据量(以KB为单位)。
    • so – 每秒从内存中交换出磁盘的数据量(以KB为单位)。

    注意:如果你不带参数的执行vmstat命令,它会输出自系统启动以来的总结报告。

    2. 每X秒执行vmstat,共执行N次

    下面命令将会每2秒中执行一次vmstat,执行6次后自动停止执行。

    1. [root@tecmint ~]# vmstat 2 6
    2.  
    3. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
    4. r b swpd free buff cache si so bi bo in cs us sy id wa st
    5. 0 0 0 810420 22064 101368 0 0 56 3 50 57 0 3 95 2 0
    6. 0 0 0 810412 22064 101368 0 0 0 0 16 35 0 0 100 0 0
    7. 0 0 0 810412 22064 101368 0 0 0 0 14 35 0 0 100 0 0
    8. 0 0 0 810412 22064 101368 0 0 0 0 17 38 0 0 100 0 0
    9. 0 0 0 810412 22064 101368 0 0 0 0 17 35 0 0 100 0 0
    10. 0 0 0 810412 22064 101368 0 0 0 0 18 36 0 1 100 0 0

    3. 带时间戳的vmstat命令

    -t参数执行vmstat命令,该命令将会在每一行输出后都带一个时间戳,如下所示。

    1. [tecmint@tecmint ~]$ vmstat -t 1 5
    2.  
    3. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
    4. r b swpd free buff cache si so bi bo in cs us sy id wa st
    5. 0 0 0 632028 24992 192244 0 0 70 5 55 78 1 3 95 1 0 2012-09-02 14:57:18 IST
    6. 1 0 0 632028 24992 192244 0 0 0 0 171 514 1 5 94 0 0 2012-09-02 14:57:19 IST
    7. 1 0 0 631904 24992 192244 0 0 0 0 195 600 0 5 95 0 0 2012-09-02 14:57:20 IST
    8. 0 0 0 631780 24992 192244 0 0 0 0 156 524 0 5 95 0 0 2012-09-02 14:57:21 IST
    9. 1 0 0 631656 24992 192244 0 0 0 0 189 592 0 5 95 0 0 2012-09-02 14:57:22 IST

    4. 统计各种计数器

    vmstat命令的-s参数,将输出各种事件计数器和内存的统计信息。

    1. [tecmint@tecmint ~]$ vmstat -s
    2.  
    3. 1030800 total memory
    4. 524656 used memory
    5. 277784 active memory
    6. 185920 inactive memory
    7. 506144 free memory
    8. 26864 buffer memory
    9. 310104 swap cache
    10. 2064376 total swap
    11. 0 used swap
    12. 2064376 free swap
    13. 4539 non-nice user cpu ticks
    14. 0 nice user cpu ticks
    15. 11569 system cpu ticks
    16. 329608 idle cpu ticks
    17. 5012 IO-wait cpu ticks
    18. 79 IRQ cpu ticks
    19. 74 softirq cpu ticks
    20. 0 stolen cpu ticks
    21. 336038 pages paged in
    22. 67945 pages paged out
    23. 0 pages swapped in
    24. 0 pages swapped out
    25. 258526 interrupts
    26. 392439 CPU context switches
    27. 1346574857 boot time
    28. 2309 forks

    5. 磁盘统计信息

    vmstat-d参数将会输出所有磁盘的统计信息。

    1. [tecmint@tecmint ~]$ vmstat -d
    2.  
    3. disk- ------------reads------------ ------------writes----------- -----IO------
    4. total merged sectors ms total merged sectors ms cur sec
    5. ram0 0 0 0 0 0 0 0 0 0 0
    6. ram1 0 0 0 0 0 0 0 0 0 0
    7. ram2 0 0 0 0 0 0 0 0 0 0
    8. ram3 0 0 0 0 0 0 0 0 0 0
    9. ram4 0 0 0 0 0 0 0 0 0 0
    10. ram5 0 0 0 0 0 0 0 0 0 0
    11. ram6 0 0 0 0 0 0 0 0 0 0
    12. ram7 0 0 0 0 0 0 0 0 0 0
    13. ram8 0 0 0 0 0 0 0 0 0 0
    14. ram9 0 0 0 0 0 0 0 0 0 0
    15. ram10 0 0 0 0 0 0 0 0 0 0
    16. ram11 0 0 0 0 0 0 0 0 0 0
    17. ram12 0 0 0 0 0 0 0 0 0 0
    18. ram13 0 0 0 0 0 0 0 0 0 0
    19. ram14 0 0 0 0 0 0 0 0 0 0
    20. ram15 0 0 0 0 0 0 0 0 0 0
    21. loop0 0 0 0 0 0 0 0 0 0 0
    22. loop1 0 0 0 0 0 0 0 0 0 0
    23. loop2 0 0 0 0 0 0 0 0 0 0
    24. loop3 0 0 0 0 0 0 0 0 0 0
    25. loop4 0 0 0 0 0 0 0 0 0 0
    26. loop5 0 0 0 0 0 0 0 0 0 0
    27. loop6 0 0 0 0 0 0 0 0 0 0
    28. loop7 0 0 0 0 0 0 0 0 0 0
    29. sr0 0 0 0 0 0 0 0 0 0 0
    30. sda 7712 5145 668732 409619 3282 28884 257402 644566 0 126
    31. dm-0 11578 0 659242 1113017 32163 0 257384 8460026 0 126
    32. dm-1 324 0 2592 3845 0 0 0 0 0 2

    6. 以MB为单位输出统计信息

    vmstat-S-M参数(大写和MB)将会以MB为单位输出。vmstat默认以KB为单位输出统计信息。

    1. [root@tecmint ~]# vmstat -S M 1 5
    2.  
    3. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
    4. r b swpd free buff cache si so bi bo in cs us sy id wa st
    5. 0 0 0 346 53 476 0 0 95 8 42 55 0 2 96 2 0
    6. 0 0 0 346 53 476 0 0 0 0 12 15 0 0 100 0 0
    7. 0 0 0 346 53 476 0 0 0 0 32 62 0 0 100 0 0
    8. 0 0 0 346 53 476 0 0 0 0 15 13 0 0 100 0 0
    9. 0 0 0 346 53 476 0 0 0 0 34 61 0 1 99 0 0

    转自:https://linux.cn/article-4024-1.html

  • 相关阅读:
    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
    总结软连接和硬连接区别,并用实例操作说明
    描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
    Git Shell push_code 脚本
    YDD的铁皮锅——C/C++内存概念
    Linux Shell 常见用法及问题
    MFC 设置鼠标样式(SetSystemCursor函数问题)
    Qt QTableView自定义列表(插入图片)
    Github libinjection库研究总结
    Windows/Linux:VMware虚拟机用内网IP通讯
  • 原文地址:https://www.cnblogs.com/qiaoyanlin/p/6942055.html
Copyright © 2011-2022 走看看