Linux服务器的性能监控与分析

linux,服务器,性能,监控,分析 · 浏览次数 : 389

小编点评

## VMStat 分析性能信息 **vmstat 1:** | 指标 | 值 | 说明 | |---|---|---| | r | 11.1 | 用户模式CPU占用比为 11.1% | | s | 5.0 | 系统模式CPU占用比为 5.0% | | ni | 0.1 | 改变过优先级的进程的CPU占用比为 0.1% | | id | 83.2 | 空闲状态的 CPU占用比为 83.2% | | si | 0.3 | 因为 I/O 等待造成的 CPU占用比为 0.3% | | st | 0.0 | CPU等待虚拟机调度的时间占比为 0.0% | **vmstat 10:** | 指标 | 值 | 说明 | |---|---|---| | r | 352 | 总进程数量为 352 | | s | 298 | 运行状态的进程数量为 298 | | st | 0 | 进程停止数量为 0 | | si | 0 | 改变过优先级的进程数量为 0 | | id | 0 | 空闲状态的 CPU 占用比为 0 | | hi | 0.3 | 硬中断的 CPU 占用比为 0.3% | | si | 0.0 | 软中断的 CPU 占用比为 0.0% |

正文

通过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服务器的性能监控与分析

通过vmstat分析性能 如上图所示,我们在命令vmstat后面添加了两个参数,1表示间隔一秒获取一次,10表示总共获取10次 我们一列一列数据来看: r:代表目前实际运行的指令队列,很高表示CPU很繁忙通常会CPU使用率过高 这个数据如果高于服务器CPU核数就可能出现瓶颈(需要结合后五列CPU使用

[转帖]JMETER性能监控之serverAgent

对linux服务器的服务进行压测时,服务器的运行情况可以通过添加插件serverAgent来观察,可以实时监控性能指标。 1 (一)环境准备 1、下载zip包ServerAgent-2.2.3.zip 2、在服务器中,创建一个文件夹serveragent,名字随便起 mkdir serveragen

[转帖]Linux服务器性能追踪以及服务器监控常用命令

https://www.pianshen.com/article/86181938917/ 作者:赵高欣 . Robbin http://www.drupal001.com/2012/07/linux-server-monitor/ 在网站性能优化中,我们经常要检查服务器的各种指标,以便快速找到害群

[转帖]如何在 60秒内优化提升 Linux 性能?只有 2% 的人知道,还不快来学习~

https://bbs.huaweicloud.com/blogs/379243 【摘要】 如何在 60秒内优化提升 Linux 性能?只有 2% 的人知道 当你发现 Linux 服务器上的系统性能问题,在最开始的 1 分钟时间里,你会查看哪些系统指标呢? Netflix 在 AWS 上有着大规模的

[转帖]基于 Nginx 实现 10万+ 并发,Linux 内核优化

来源:http://t.cn/EyQTMwG 由于默认的Linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能; 在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作

[转帖]Nginx10万+并发 内核优化

由于默认的linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能; 在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态web内容服务器、反向代理或者提供压缩服

高并发场景下,如何优化服务器的性能

摘要:tcp_nodelay参数主要是对TCP套接字来说的,那对于服务器硬件,如果要使其能够支撑上百万甚至上千万的并发,我们该如何对其进行优化呢? 本文分享自华为云社区《【高并发】高并发场景下如何优化服务器的性能?》,作者: 冰 河 。 写在前面 最近,有小伙伴在群里提问:Linux系统怎么设置tc

[转帖]Linux性能调优,看这一篇就够了

调优是一件因地制宜的事情,生搬硬套可能适得其反。互联网企业,生产环境大多数都是linux操作系统,Linux服务器性能调优,是一个重要的课题。linux有成百上千的参数可以调整,对这些参数的理解,可以帮助我们更好的理解服务器工作的原理,帮助更快的找到瓶颈和解决问题。 为了帮助理解,先上一个Linux

[转帖]Apache的ab进行并发性能测试的注意点

http://www.piaoyi.org/linux/Apache-ab-test.html 正 文: ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低,既不会

[转帖]Linux 内核内存性能调优的一些笔记

https://my.oschina.net/u/6150560/blog/7759034 一、前言 在工作生活中,我们时常会遇到一些性能问题:比如手机用久了,在滑动窗口或点击 APP 时会出现页面反应慢、卡顿等情况;比如运行在某台服务器上进程的某些性能指标(影响用户体验的 PCT99 指标等)不达