通过vmstat分析性能

 如上图所示,我们在命令vmstat后面添加了两个参数,1表示间隔一秒获取一次,10表示总共获取10次

我们一列一列数据来看:

  • r:代表目前实际运行的指令队列,很高表示CPU很繁忙通常会CPU使用率过高

    • 这个数据如果高于服务器CPU核数就可能出现瓶颈(需要结合后五列CPU使用百分比)
    • 超过CPU核数的3个就比较高,超过5个已经很高,超过10个就比较危险了
  • b:目前因为等待资源而阻塞运行指令,比如等待I/O,内存交换、CPU资源瓶颈
  • swpd:表示虚拟内存(swap)已使用的大小。当服务器物理内存不够用时候,会把物理内存的部分空间释放出来,以供急需物理内存的来运行的程序使用,而从物理内存释放出来的一般是很长时间没有实际运行的程序。被保存到虚拟内存的内容等到运行起来,会从虚拟内存中恢复到物理内存。swpd大于0,不代表物理内存不够用了,需要结合si和so,如果si和so为0,表示物理内存是够用的
  • free:空闲的物理内存
  • buff:系统缓冲区的内存大小,只有对块设备读写才会需要缓冲区
  • cache:给已经打开的文件作为缓存的内存大小
  • si:每秒从虚拟内存读到内存中的数据大小,如果这个值长期大于0,表示物理内存不够用了
  • so:每秒写入虚拟内存的数据内容大小
  • bi和bo:表示每秒块设备读写,bi和bo两个值越大,CPU在I/O等待的值越大
  • in:CPU中断次数
  • cs:CPU每秒上下文切换次数,这值要越小越好,太大了要考虑调低线程和进程数量。上下文切换次数过多会让CPU大部分时间都浪费在上下文切换上,CPU正经运行就少了,CPU没有充分被利用。
  • us:用户模式CPU使用时间百分比,越高越好,说明CPU被充分利用了
  • sy:系统内核执行时间百分比,太高说明系统内核消耗CPU资源多
  • id:表示空闲空闲CPU占比,一般id + us + sy =100
  • wa:表示I/O等待时间百分比,越高说明I/O等待情况严重
  • st:改值一般都是0,一般在虚拟机中才会有

通过mpstat分析性能

如上图所示,我们在命令mpstat后面添加了两个参数,1表示间隔一秒获取一次,10表示总共获取10次

  • %usr:用户模式下CPU使用时间的百分比,和vmstat中us数据基本一致
  • %nice:CPU进程优先级调度占用的时间,这个值一般都是0,只有修改过默认优先级才会显示
  • %sys:表示系统内核进程执行时间百分比(system time)。该值越高,说明系统内核消耗的CPU资源越多,和vmstat命令中的sy数据基本一致。
  • %iowait:表示I/O等待时间的百分比。该值越高,说明IO等待越严重,和vmstat命令中的wa数据基本一致。
  • %irq:表示用于处理系统中断的CPU百分比。和vmstat命令中的in数据的含义类似。in越高,%irq也会越高。
  • %soft:表示用于软件中断的CPU百分比
  • %steal:表示CPU等待虚拟机调度的时间占比。这个指标一般在虚拟机中才会有,物理机中该值一般维持为0,和vmstat命令中的st数据基本一致。
  • %idle:表示空闲CPU时间的占比。和vmstat命令中的id数据基本一致

通过pidstat分析性能

  • UID:用户id
  • PID:进程id
  • %usr:进程对用户模式CPU使用的时间
  • %system:进程对系统模式CPU使用的时间
  • CPU:执行指定进程的CPU编号
  • Command:当前进程运行命令

通过free看内存

  • total:显示系统总的物理内存和交换区大小单位是k
  • used:显示已经被使用的物理内存和交换区大小单位是k
  • free:显示还有多少未使用的物理内存和交换区单位是k
  • shared:显示共享区占用的物理内存大小单位是k
  • buff/cache:缓冲区和缓存合计使用的内存大小单位是k
  • available列:显示的是可用物理内存的大小,单位为k。通常情况下,available的值等于free+buff/cache。

通过top系统情况

  • 第一行显示的是系统运行信息:系统时间20:04:16秒、系统运行了12天、当前登陆用户2个、系统平均负载:4.75(1分钟平均负载压力),2.83(5分钟平均负载压力),2.02(15分钟平均负载压力)(这个数值除以CPU核数得到的值大于3-5时,系统负载就超高了)
  • 第二行显示任务信息:总进程352,1个运行状态,298个休眠中,0个停止,0个假死
  • 第3行显示的是CPU的运行信息: 11.1us表示用户模式下CPU占用比为11.1%,5.0 sy表示系统模式下CPU占用比为5.0%,0.1 ni表示改变过优先级的进程的CPU占用比为0.1%,83.2 id表示空闲状态的CPU占用比为83.2%,0.3 wa表示因为I/O等待造成的CPU占用比为0.3%,0.0 hi表示硬中断的CPU占用比,0.3 si表示软中断的CPU的占用比。0.0 st表示CPU等待虚拟机调度的时间占比,这个指标一般在虚拟机中才会有,在物理机中该值一般维持为0。
  • 第4行显示的是内存的使用信息:total表示物理内存的总量,free表示物理内存的空闲大小,198808 used表示已使用的物理内存的大小,buff/cache表示用于缓存的物理内存的大小。
  • 第5行显示的是虚拟内存(swap)的使用信息: total表示虚拟内存空间的大小, free表示空闲的虚拟内存空间的大小, used表示已使用的虚拟内存空间的大小, avail Mem表示可供使用的内存大小。
  • 第7行显示的是每个进程的资源消耗信息
    • %CPU:进程运行时CPU占用比
    • %MEM:进程使用的内存占用比
    • TIME+:进程占用CPU总时长
    • COMMAND:正在运行的命令

友情链接

https://www.cnblogs.com/yetangjian/p/15705398.html

Linux服务器的性能监控与分析的更多相关文章

  1. Linux服务器常用性能监控命令汇总

    1.ifconfig 网卡数目.ip地址.Mac地址.MTU大小 eth0 Link encap:Ethernet HWaddr 00:0d:3a:50:12:e9 inet addr:10.0.0. ...

  2. 1.linux服务器的性能分析与优化

    [教程主题]:1.linux服务器的性能分析与优化 [课程录制]: 创E [主要内容] [1]影响Linux服务器性能的因素 操作系统级 CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处 ...

  3. 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化

    高性能Linux服务器 第10章    基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...

  4. linux服务器的性能分析与优化(十三)

    [教程主题]:1.linux服务器的性能分析与优化 [主要内容] [1]影响Linux服务器性能的因素 操作系统级 Ø CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间 ...

  5. Linux性能监控与分析之--- CPU

    Linux性能监控与分析之--- CPU 望月成三人关注 2016.07.25 18:16:12字数 1,576阅读 2,837 CPU性能指标 用户进程使用CPU的比率 系统进程使用CPU的比率 W ...

  6. 【转载】Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  7. Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  8. web性能监控与分析

    注:原文为:andyguo: <web性能监控与分析> 性能测试需要使用不同的工具,结合系统日志,监控服务器.应用等方面的多项指标.以下阐述监控指标.监控工具.瓶颈分析. 服务端监控指标 ...

  9. Linux系统和性能监控之CPU篇

    Linux系统和性能监控之CPU篇 性能优化就是找到系统处理中的瓶颈以及去除这些的过程.本文由sanotes.net站长tonnyom在2009年8月翻译自Linux System and Perfo ...

  10. Linux下Java性能监控

    Linux下Java性能监控 一.JVM堆内存使用监控 获取thread dump的3种方法: 1)使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun. ...

随机推荐

  1. 2021-03-05:go中,io密集型的应用,比如有很多文件io,磁盘io,网络io,调大GOMAXPROCS,会不会对性能有帮助?为什么?

    2021-03-05:go中,io密集型的应用,比如有很多文件io,磁盘io,网络io,调大GOMAXPROCS,会不会对性能有帮助?为什么? 福哥答案2021-03-05: 这是面试中被问到的.实力 ...

  2. 2022-04-04:k8s中kubectl源码用到了哪些设计模式?除了工厂和单例。

    2022-04-04:k8s中kubectl源码用到了哪些设计模式?除了工厂和单例. 答案2022-04-04: 1.建造者模式.resource.Builder.D:\go_path\src\git ...

  3. 2021-04-16:摆放着n堆石子。现要将石子有次序地合并成一堆,规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。求出将n堆石子合并成一堆的最小得分(或最大得分)合

    2021-04-16:摆放着n堆石子.现要将石子有次序地合并成一堆,规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分.求出将n堆石子合并成一堆的最小得分(或最大得分)合 ...

  4. 2021-11-01:寻找重复数。给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数

    2021-11-01:寻找重复数.给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数.假设 nums 只有 一个重复的整数 ...

  5. java中this的内存原理以及成员变量和局部变量

    this的内存原理 1.this的作用: 区分局部变量和成员变量 eg: public class Student{ private int age; public void method(){ in ...

  6. prefetch_related() 一对多、多对多查询优化,反向查询

    prefetch_related() 一对多.多对多查询优化,反向查询 Student.objects.filter(age__lt=30).prefetch_related('course') # ...

  7. 如何借助Kafka持久化存储K8S事件数据?

    大家应该对 Kubernetes Events 并不陌生,特别是当你使用 kubectl describe 命令或 Event API 资源来了解集群中的故障时. $ kubectl get even ...

  8. .cur 图片加载提示 You may need an appropriate loader to handle this file type

    最近一个gis 项目需要加载一个.cur的图标,但是编译时提示 You may need an appropriate loader to handle this file type, current ...

  9. web自动化08-下拉选择框、弹出框、滚动条

    1.下拉选择框操作 下拉框就是HTML中<select>元素:   先列需求: 需求:使用'注册A.html'页面,完成对城市的下拉框的操作 1).选择'广州' 2).暂停2秒,选择'上海 ...

  10. ELK8.8部署安装并配置xpark认证

    ELK8.8部署安装并配置xpark认证 介绍   主要记录下filebeat+logstash+elasticsearch+kibana抽取过滤存储展示应用日志文件的方式:版本基于8.8,并开启xp ...