Linux监控之系统性能

1.内存、交换分区篇
 命令:free    显示内存及交换分区使用情况

选项:
    -b    显示单位:字节
    -k    显示单位:K字节
    -m    显示单位:M字节
 [root@localhost ~]#free
             total       used       free     shared    buffers     cached
Mem:        503156     491524      11632          0      17960     337760
-/+ buffers/cache:     135804     367352
Swap:       524280         60     524220
细节说明:
在Linux中内存不像Windows那样直接被进程访问,Linux中内存会被先划分为buffer和cache,然后再被程序访问使用。
以上输出Mem行中:
        totoal : 503156表示本机所有内存总和
        used   : 491524表示被划分为buffer和cache的总和,即可以被程序使用的总容量
                free   : 11632 表示本机内存总和减去被划分的buffer和cache总和的值,即503156-491524=11632
        buffers: 内存中剩余的buffer容量(17960)
        cached : 内存中剩余的cache容量(337760)

以上输出-/+buffers/cache行中:
        used   : 内存实际使用情况(buffer和cache被使用的容量总和)135804=491524-17960-337760
                free   :内存实际剩余情况(内存未被划分为buffer和cache的容量加buffer和cache剩余容量)
                         367352=11632+17960+337760
 Swap行中:
        524280:表示交换分区总和
        60    :交换分区使用量
        524220:交换分区剩余量

交换分区功能说明:交换分区将硬盘中的一部分空间拿出来当内存使用,但并不是直接就从硬盘中提取计算机指令执行。
                  首先电脑开启一个程序时,先从硬盘中把程序调入内存中,由CPU从内存中执行计算机指令,但当一个
          程序很大时,并不是所有程序指令都需要调入内存,那些暂时并不需要的指令可以先部分的存在硬盘中,
          即使硬件调入内存中的指令也不需要适中在内存中存放,那些近期都不会执行到的指令也可以临时存入
          硬盘及缓存中!

内存使用说明:
        内存页:为了更方便的管理内存,系统会把内存划分成一块一块的区域,这个区域又被称为页,Linux内存页一般为4096字节
        活动内存(active memory):活动指正在被使用的数据或最近使用的数据存放的内存区域
        非活动内存(inactive memory):一个程序执行结束后,经过一段时间后可能还会再次被调用,系统可以把所需数据放入非活        动内存中,而不是放入硬盘,这样下次再次执行程序时可以很快地调用所需数据
        
 命令:vmstat    查看内存、进程、页等信息
选项:
    -a    是否显示活动内存与非活动内存信息
    -f    
 [root@localhost ~]cat  /proc/meminfo        该命令的具体含义可以自行探索,在此不再赘述

2.硬盘信息
 命令:iostat    显示CPU状态以及设备与分区的IO(输入与输出)状态,运行该命令需要安装sysstat软件包
语法:
iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -n ]  [  -h  ]  [
       device [ ... ] | ALL ] [ -p [ device | ALL ] ] [ interval [ count ] ]
选项:
    -c            仅显示CPU状态,不与-d同用
    -d            仅显示设备分区状态,不与-c同用
    -k            显示单位为K字节
    -m            显示单位为M字节
    -n            显示NFS共享分区信息,仅对2.6.17以上内核可用,不与-x同用
    -h            人性化显示NFS共享信息
    -p [{ device | ALL }]    仅显示某块设备状态还是显示所有(iostat  -p  sda  |  iostat -p  ALL)
    -t            显示报告的时间
    -x            显示扩展信息
    -V            显示该软件版本号
    interval        为统计状态间隔时间
    count            为统计次数(iostat  5  5   每个5秒统计一次,总共统计5次)

实例:
    iostat  -c
    iostat  -d
    iostat    -x
    iostat  -d  5  5
 输出信息说明:
    CPU统计信息格式:
    %user        CPU执行用户态程序的时间百分比(注:CPU执行指令分为两种模式:用户模式,内核模式)
    %nice        CPU执行被设置了nice优先级的用户态程序的时间百分比
    %system        CPU执行系统态(内核态)进程的百分比
    %iowait        CPU空闲下来等待请求IO设备完成的时间百分比
    %steal        Hypervisor分配给运行在其它虚拟机上的任务的实际CPU时间
    %idle        CPU空闲且没有IO请求的时间百分比
     CPU统计信息格式:
    Device        设备或分区名称
    tps        每秒数据传输次数,一次传输可以看成是一次IO请求,单次传输大小不定
    Blk_read/s    每秒读取的数据块(单位block),单个block大小在格式化时定义
    Blk_wrtn/s    每秒写入的数据块(单位block),单个block大小在格式化时定义
    Blk_read    开机后读取数据块总和
    Blk_wrtn    开机后读取数据块总和
    kB_read/s    每秒读取的数据(单位K字节)
    kB_wrtn/s    每秒写入的数据(单位K字节)
    kB_read        开机后读取的数据总和(单位K字节)
    kB_wrtn        开机后写入的数据总和(单位K字节)
    MB_read/s    每秒读取的数据(单位M字节)
    MB_wrtn/s    每秒写入的数据(单位M字节)
    MB_read        开机后读取的数据总和(单位M字节)
    MB_wrtn        开机后写入的数据总和(单位M字节)
    rrqm/s        每秒读请求合并的数量(备注:为了更高效的使用IO设置,对硬盘的读或写操作的请求可以被合并,如两个4K的读                            请求可以合并为一个8K的读请求。)
    wrqm/s        每秒写请求合并的数量
    r/s        每秒读请求的数量
    w/s        每秒写请求的数量
    rsec/s        每秒从硬盘中读取多少个扇区中的数据
    wsec/s        每秒往硬盘的多少个扇区中写入数据
    rkB/s        每秒从硬盘中读取多少个K字节的数量
    wkB/s        每秒往硬盘中写入多少个K字节的数量
    rMB/s        每秒从硬盘中读取多少个M字节的数量
    wMB/s        每秒往硬盘中写入多少个M字节的数量
    avgrq-sz    IO请求的读写的平均大小(扇区)
    avgqu-sz    IO请求队列的平均长度
    await        IO请求的平均等待时间(毫秒)
    svctm        单个IO请求的平均服务时间(完成单个IO的平均时间)
    %util        CPU完成IO请求的时间比
    rops/s        挂载点每秒读操作的数量
    wops/s        挂载点每秒写操作的数量
 实例:
#dd  if=/dev/zero  of=/tmp/test  bs=100M  count=1    注:写入一个100M的文件
#iostat -x  1  3 >> /tmp/out                注:每隔1秒监控一次,共监控10次,将结果导出至文件

#Linux 2.6.18-164.el5 (localhost.localdomain)     01/15/2012

#avg-cpu:  %user   %nice %system %iowait  %steal   %idle
#           1.38    0.65    2.79    8.08    0.00   87.11

#Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
#sda               5.02    34.19 12.65  3.68   463.99   302.96    46.96     0.29   17.46   4.86   7.94
#sda1              0.21     0.00  0.07  0.00     0.56     0.01     8.11     0.00    7.37   4.91   0.03
#sda2              4.80    34.18 12.58  3.68   463.36   302.95    47.14     0.28   17.51   4.87   7.92
#dm-0              0.00     0.00 17.30 37.87   463.07   302.92    13.89     1.38   25.08   1.43   7.91
#dm-1              0.00     0.00  0.03  0.00     0.22     0.03     8.00     0.00   16.36   3.75   0.01
#hdc               2.75     0.00  0.23  0.00    11.95     0.00    51.24     0.00    3.32   2.85   0.07

#avg-cpu:  %user   %nice %system %iowait  %steal   %idle
#           5.56    0.00   94.44    0.00    0.00    0.00

#Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
#sda               0.00 28444.44 33.33 322.22  1422.22 214222.22   606.50     2.12    5.53   1.77  62.78
#sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
#sda2              0.00 28444.44 33.33 322.22  1422.22 214222.22   606.50     2.12    5.53   1.77  62.78
#dm-0              0.00     0.00 33.33 28783.33  1422.22 230266.67     8.04   124.93    3.93   0.02  59.44
#dm-1              0.00     0.00  0.00  5.56     0.00    44.44     8.00     0.04    7.00   7.00   3.89
#hdc               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

#avg-cpu:  %user   %nice %system %iowait  %steal   %idle
#           0.00    0.00  100.00    0.00    0.00    0.00

#Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
#sda               0.00 27936.36  0.00 363.64     0.00 252436.36   694.20     1.75    5.47   1.40  50.91
#sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
#sda2              0.00 27936.36  0.00 363.64     0.00 252436.36   694.20     1.75    5.47   1.40  50.91
#dm-0              0.00     0.00  0.00 28263.64     0.00 226109.09     8.00   147.69    5.90   0.02  50.91
#dm-1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
#hdc               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

说明:
     第一次输出(对sda而言):
        每秒合并了5.02个读请求,每秒合并了34.19个写操作
        每秒有12.65个读请求,每秒有3.68个写请求
        每秒读取了463.99个扇区的数据(一个扇区512字节),每秒写入了302.96个扇区的数据
        每秒平均有46.96个读请求,平均队列长度为0.29
        IO请求的平均等待时间17.46ms

本文出自 “丁丁历险” 博客,请务必保留此出处http://manual.blog.51cto.com/3300438/785340

转载于:https://blog.51cto.com/dbddbd/1963838

Linux监控之系统性能相关推荐

  1. 19.1 Linux监控平台介绍;19.2 zabbix监控介绍;19.3,19.4 安装zabbi

    19.1 Linux监控平台介绍 常见开源监控软件: 1. cacti.nagios.zabbix.smokeping.open-falcon等等 2. cacti.smokeping偏向于基础监控, ...

  2. 实例代码分享Python实现Linux监控

    本文通过实例代码给大家介绍了Python实现Linux监控的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下. 工作原理:基于/proc 文件系统 Linux 系统为管理员提供了非常好的方 ...

  3. linux监控平台介绍、zabbix监控介绍、安装zabbix

    linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon 等等. nagios和zabbix流行度很高. cacti.smokepi ...

  4. Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做

    Linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon等等. cacti.smokeping偏向于基础监控,成图漂亮. cacti ...

  5. Linux监控平台 zabbix介绍和安装

    2019独角兽企业重金招聘Python工程师标准>>> 12月24日任务 19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabb ...

  6. Linux监控   Nagios

    Linux监控 Nagios 1 什么是监控? 监视控制 2 监控谁?        各种服务器 3 监控什么?     网络流量(eth0,eth1)   服务的状态(运行,停止)  硬件资源 cp ...

  7. Linux监控平台搭建( zabbix监控)

    2019独角兽企业重金招聘Python工程师标准>>> Linux监控平台搭建( zabbix监控) 一.Linux监控平台介绍 1.监控存在的原因 站点出了问题,没有人知道,等用户 ...

  8. linux 监控网络IO、磁盘、CPU、内存

    linux 监控网络IO.磁盘.CPU.内存 CPU:vmstat ,sar –u,top 磁盘IO:iostat –xd,sar –d,top 网络IO:iftop -n,ifstat,dstat ...

  9. linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案

    Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件. 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 #!/bi ...

  10. linux杀掉进程后总是重启,Linux监控进程,进程关闭自动重启方案

    Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件. 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 #!/bi ...

最新文章

  1. Selenium之运行效果展示
  2. Git版本库创建(包含文件权限设置 Linux环境下)
  3. python返回元组_python – numpy.where返回一个元组的目的是什么?
  4. Ajax.BeginForm无法调用 ajaxOptions的js函数
  5. 程序员的成功是否有规律可循?
  6. python购物车结算_python购物车-基础版本
  7. cdr非法软件 您的产品已被禁用怎么回事_多层刺网非法捕鱼 顺庆男子被取保候审...
  8. Python matplot画散列图
  9. Android图片加载那些事(一)-实现加载手机中的所有图片
  10. 没有IOMMU的DMA操作
  11. 实验数据 matlab,用MatlAB处理实验数据程序
  12. jcr多久更新一次_sci分区什么时候更新
  13. 智能门锁与网关:海康萤石智能门锁的网关分析(二)
  14. Python初学3——数字类型及操作
  15. 上海拍牌服务器协议,上海拍牌服务器地址
  16. 华为智慧屏鸿蒙系统深度评测,八个维度深度评测华为荣耀智慧屏
  17. php pear pecl 区别,pecl 简单介绍
  18. 服务器更换损坏硬盘,更换一批服务器损坏硬盘
  19. LeetCode部分刷题笔记!!!JavaScript!!!
  20. 手机端搜狗输入法语音转文字的体验报告

热门文章

  1. Atitit 可移植性之道attilax著
  2. Atitit 多继承实现解决方案 java c#
  3. Atitit。监听键盘上下左右方向键事件java js jquery c#.net
  4. Atitit.数据库事务隔离级别 attilax 总结
  5. XSS跨站点脚本攻击解决方案
  6. 关于FLEX中找不到目标对象或通道未定义错误
  7. 对冲基金表现大盘点(二):Citadel
  8. 双管理人模式下的契约型私募基金实用发行指南
  9. 一个空格引发的Bug! ----CSV输出和CSV读入
  10. 2021“数维杯”国际大学生数学建模竞赛B题思路