Linux服务器的性能监控与分析
通过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服务器的性能监控与分析的更多相关文章
- Linux服务器常用性能监控命令汇总
1.ifconfig 网卡数目.ip地址.Mac地址.MTU大小 eth0 Link encap:Ethernet HWaddr 00:0d:3a:50:12:e9 inet addr:10.0.0. ...
- 1.linux服务器的性能分析与优化
[教程主题]:1.linux服务器的性能分析与优化 [课程录制]: 创E [主要内容] [1]影响Linux服务器性能的因素 操作系统级 CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处 ...
- 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化
高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...
- linux服务器的性能分析与优化(十三)
[教程主题]:1.linux服务器的性能分析与优化 [主要内容] [1]影响Linux服务器性能的因素 操作系统级 Ø CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间 ...
- Linux性能监控与分析之--- CPU
Linux性能监控与分析之--- CPU 望月成三人关注 2016.07.25 18:16:12字数 1,576阅读 2,837 CPU性能指标 用户进程使用CPU的比率 系统进程使用CPU的比率 W ...
- 【转载】Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- web性能监控与分析
注:原文为:andyguo: <web性能监控与分析> 性能测试需要使用不同的工具,结合系统日志,监控服务器.应用等方面的多项指标.以下阐述监控指标.监控工具.瓶颈分析. 服务端监控指标 ...
- Linux系统和性能监控之CPU篇
Linux系统和性能监控之CPU篇 性能优化就是找到系统处理中的瓶颈以及去除这些的过程.本文由sanotes.net站长tonnyom在2009年8月翻译自Linux System and Perfo ...
- Linux下Java性能监控
Linux下Java性能监控 一.JVM堆内存使用监控 获取thread dump的3种方法: 1)使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun. ...
随机推荐
- 都说DevOps落地难,到底难在哪里?也许你还没找到套路
当你打开这篇文章的时候,也许你也在为DevOps的落地而苦恼,也许你的组织正在尝试DevOps转型,作为一线的实践者,说说我对这个"落地难"的看法,欢迎交流不同看法- DevOps ...
- Selenium - 浏览器配置(1) - 忽略证书错误提示
Selenium - 浏览器配置 忽略证书错误提示 有时候我们访问一些地址,会提示证书私密连接告警信息如下: 如果我们每次要点击高级来忽略私密连接,那就很麻烦: 在谷歌浏览器可以增加忽略证书错误问题, ...
- LVDS_33 support
在HR bank/HD bank中,支持LVDS的bank使用VCCO 3.3v供电,仅仅需要对端给过来的信号,满足标准的LVDS差模电压/共模电压的标准即可.如下截图: 限制: 仅能作为input ...
- ICML 2017-Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
Key Gradient Descent+TRPO+policy Gradient 训练模型的初始参数,模型在新任务上只需参数通过一个或多个用新任务的少量数据计算的梯度步骤更新后,就可以最大的性能.而 ...
- Python连接es笔记二之查询方式汇总
本文首发于公众号:Hunter后端 原文链接:Python连接es笔记二之查询方式汇总 上一节除了介绍使用 Python 连接 es,还有最简单的 query() 方法,这一节介绍一下几种其他的查询方 ...
- HashMap 以及多线程基本感念
接口 Map :映射项,(键值对 ) 的容器注意: 键 是唯一的 值 是可以重复的实现类 HashMap :哈希表结构 允许使用null值 和 null 键 线程不安全 键唯一 无序 linkedHa ...
- Redis系列15:使用Stream实现消息队列(精讲)
Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...
- 一招带你吃透MySQL高级
MySQL8高级之架构和优化 让 第01章 Linux下MySQL的安装与使用 1.安装 1.1.docker安装 docker run -d \ -p 3309:3306 \ -v /atguigu ...
- Python3.7源码编译
1.下载Python3.7.0源码 git clone https://github.com/python/cpython.gitgit checkout v3.7.0 wget https://ww ...
- 解密Prompt系列10. 思维链COT原理探究
前一章思维链基础和进阶玩法我们介绍了如何写Chain-of-thought Prompt来激活生成逐步推理,并提高模型解决复杂问题的能力,这一章我们追本溯源,讨论下COT的哪些元素是提升模型表现的核心 ...