Linux中常用的监控性能的命令(sar、mpstat,vmstat, iostat,)详解

news/2024/5/10 8:22:12/文章来源:https://blog.csdn.net/GDYY3721/article/details/131726508

Linux中常用的监控性能的命令有: 

sar:能查看CPU的平均信息,还能查看指定CPU的信息。与mpstat相比,sar能查看CPU历史信息

mpstat:能查看所有CPU的平均信息,还能查看指定CPU的信息。 与sar相比,mpstat对CPU能实时状态进行监控

vmstat:监控服务器整体的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)

iostat:主要用于监控系统设备的io负载情况 

1、sar

sar(System ActivityReporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等,sar命令由sysstat安装包安装。

sar命令使用参数详情可以使用sar --help来查看 

常用参数

-o :将监控的的信息以二进制方式保存到文件中

-f :从指定的文件读取报告

-P:报告每个CPU的状态

 -b:显示I/O和传递速率的统计信息

-R::显示内存状态
-w::显示交换分区的状态

-q: 查看平均负载 

-d: 磁盘使用统计信息

sar   //无参数界面情况

字段的含义

  %user      在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程  (usr/total)*100
  %nice      在internal时间段里,nice值为负进程的CPU时间(%)   (nice/total)*100
  %system       在internal时间段里,内核时间(%)       (system/total)*100
  %iowait    在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100

  %steal
  %idle       在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%) (idle/total)*100

sar -o cpulog 1 4  //每1秒采样一次CPU信息,连续4次,并将采样的信息以二进制形式存入当前目录下的文件cpulog中,若删除4,下面命令将会是一直连续1秒采样一次

sar -f cpulog  //使用上面命令保存的文件使用cat、head等命令查看文件全是乱码,需要使用sar -f {filename}才能查看

查看所有CPU信息 0 表示CPU核号,若为ALL返回所有核号的信息 1 表示刷新频率 2 表示刷新次数 # sar -P 0 1 2

sar -q 查看队列的长度(等待运行的进程数)和负载的状态

sar -r查看内存使用情况

sar -w查看系统swap分区的统计信息

sar -b查看I/O传递速率的信息

sar -d磁盘使用统计信息

2、mpstat

mpstat是Multiprocessor Statistics的缩写,是实时监控工具,报告cpu的一些统计信息,这些信息都存在/proc/stat文件中,在多CPU系统里,其不但能查看所有的CPU的平均状况的信息,而且能够有查看特定的cpu信息,mpstat最大的特点是:可以查看多核心的cpu中每个计算核心的统计数据

# mpstat 1 5    //连续5次,每次间隔1秒采样CPU信息

字段的含义

%user      在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程  (usr/total)*100
%nice      在internal时间段里,nice值为负进程的CPU时间(%)   (nice/total)*100
%sys       在internal时间段里,内核时间(%)       (system/total)*100
%iowait    在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100
%irq         在internal时间段里,硬中断时间(%)     (irq/total)*100
%soft       在internal时间段里,软中断时间(%)     (softirq/total)*100
%idle       在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%) (idle/total)*100

# 查看所有CPU单个信息
mpstat -P ALL 1 1

3、vmstat

vmstat可以展现指定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。

#连续4次,每次间隔1秒采样信息
vmstat 1 4

 如果觉得太乱是用如下命令

vmstat 1 4 | column -t

1、Procs(进程)

r:表示运行队列(就是说多少个进程真的分配到CPU)。

  • 如果长期大于超过了CPU数目,有多数的进程等待CPU,需要增加cpu;
  • 大于系统中可用CPU个数的4倍的话,统面临着CPU短缺、或CPU速率过低;
  • r 和 b 不能高于5倍,如果r 经常大于4倍,且id 经常少于40,则表示CPU 负荷很重。

b:列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。

2.Memory(内存)

swpd:虚拟内存已使用的大小(k表示)。

  • 如果大于0,表示你的机器物理内存不足了。
  • 如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常

free:空闲的物理内存的大小

buff:对块设备的读写的缓存(系统缓存)

cache:一般作为文件系统的cache

  • 如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。

3.Swap

si: 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。

so:每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上

  • si与so说明:当内存的需求大于RAM的数量,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的特殊磁盘段上,这样会出现虚拟内存的页导出和页导入现象,页导出并不能说明RAM瓶颈,虚拟内存系统经常会对内存段进行页导出,但页导入操作就表明了服务器需要更多的内存了,页导入需要从SWAP DISK上将内存段复制回RAM,导致服务器速度变慢。这里还得配合CPU使用率来看。
  • 如果内存的占用率比较高,但是,CPU的占用很低的时候,可以考虑是有很多的应用程序占用了内存没有释放.
  • 如果是ORACLE出现这种情况:

         1.最简单的,加大RAM。2、改小SGA,使得对RAM需求减少。3、减少RAM的需求(如:减少PGA)

4.IO(现在的Linux版本块的大小为1kb)

bi:块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte

bo:块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

  • 这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。

5.system(系统)

in:表示在某一时间间隔中观测到的每秒设备中断数。

cs:列表示每秒产生的上下文切换次数,VMSTAT\u547d\u4ee4如当 cs比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。

6.CPU(以百分比表示)

us:显示了用户方式下所花费 CPU时间的百分比。

  • us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。

sy:显示了内核进程所花费的cpu时间的百分比。

  • 这里us + sy的参考值为80%,如果us+sy大于 80%说明可能存在CPU不足。

id:cpu处在空闲状态的时间百分比

  • vmstat中CPU的度量是百分比的。当us+sy的值接近100的时候,表示CPU正在接近满负荷工作。但要注意的是,CPU满负荷工作并不能说明什么,UNIX总是试图要CPU尽可能的繁忙,使得任务的吞吐量最大化。唯一能够确定CPU瓶颈的还是r(运行队列)的值。
  • 如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us)系统则面临着CPU资源的短缺.

wa:显示了IO等待所占用的CPU时间的百分比。

  • 这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。

st:来自于一个虚拟机偷取的CPU时间的百分比

4、iostat

iostat主要用于监控系统设备的io负载情况,sostat首次运行时会显示自系统启动开始的各项统计信息,用户可以通过指定统计的次数和时间来获得所需的统计信息

# iostat 1 1
# iostat -m 1 1     //-m以MB统计数据

输出信息意义
  Device:盘位符

  tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。
  kB_read/s:每秒从设备(drive expressed)读取的数据量;
  kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
  kB_read:读取的总数据量;  kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。


源码等资料获取方法

各位想获取源码等教程资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_331072.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

九五从零开始的运维之路(其二十)

[TOC](文章目录) 文章目录 前言一、LAMP是什么二、配置环境及安装1.配置yum源2.关闭防火墙、网络图形化工具及SElinux3.安装软件包 三、配置apache服务器内容四、启动服务五、访问验证总结 前言 本篇将简述的内容:Linux系统下的LAMP平台部署 基于discuz框架的论坛搭…

阿里云无影云电脑价格_企业办公型1元_云桌面入口

阿里云无影云电脑配置费用,4核8G企业办公型云电脑可以免费使用3个月,无影云电脑地域不同费用不同,无影云电脑是由云桌面配置、云盘、互联网访问带宽、AD Connector、桌面组共用桌面session等费用组成,阿里云百科分享阿里云无影云电…

中文数据下载

研究AI离不开数据,数据库可以说是AI的半壁天下。有链接的数据库下载是很nice的。 语音数据集整理 目录 1.Mozilla Common Voice. 2 2.翻译和口语音频的大型数据库Tatoeba. 2 3.VOiCES Dataset 3 4. LibriSpeech. 4 5.2000 HUB5 English:... 4 6.…

如何用Three.js + Blender打造一个web 3D展览馆

作者:vivo 互联网前端团队- Wei Xing 运营活动新玩法层出不穷,web 3D炙手可热,本文将一步步带大家了解如何利用Three.js和Blender来打造一个沉浸式web 3D展览馆。 一、前言 3D展览馆是什么,先来预览下效果: 看起来像…

Linux离线环境Jenkins部署SpringBoot

Jenkins服务器 把Jar包上传到Linux服务器的/jenkins/目录下 Dashboard----》新建任务----》构建一个自由风格的软件项目----》test 修改jenkins工作空间 新建构建前执行命令stop.sh,停止SpringBoot并备份 (这里是目标服务器,即部署项目的…

激斗云计算:互联网大厂打响新一轮排位战

大模型如同一辆时代列车,所有科技大厂都想上车。 自去年底ChatGPT一炮而红,国内外数十家科技大厂、创业公司、机构相继下场,一时间掀起大模型的热浪。 《中国人工智能大模型地图研究报告》显示,截至今年5月28日,中国…

第八章:SegNet——一个用于强大的语义像素级标注的深度卷积编码-解码架构

0.摘要 我们提出了一种新颖的深度架构SegNet,用于语义像素级图像标注。SegNet具有一些吸引人的特性: (i)它只需要对完全学习的函数进行前向评估,就可以获得平滑的标签预测; (ii)随着深度增加,像素标注考虑了更大的上下…

SpringBoot+actuator和admin-UI实现监控中心

使用SpringBoot很久了&#xff0c;但是很少使用到SpringBoot的查看和监控&#xff0c;将来八成也不会用到&#xff0c;万一有机会用到呢&#xff1f;所以记录一下以前学习SpringBootactuator和adminUI实现监控中心的方式 Springboot的版本2.0.x <parent><groupId>…

keepalived安装配置详解

文章目录 高可用介绍keepalived安装、使用vip漂移抓包脑裂脑裂有没有危害&#xff1f;如果有危害对业务有什么影响&#xff1f; keepalived架构双vip架构 Healthcheck实现 notifyVRRP选举格式 高可用 介绍 高可用性&#xff08;High Availability&#xff09;是指系统或服务能…

Word2Vec实现文本识别分类

深度学习训练营之使用Word2Vec实现文本识别分类 原文链接环境介绍前言前置工作设置GPU数据查看构建数据迭代器 Word2Vec的调用生成数据批次和迭代器模型训练初始化拆分数据集并进行训练 预测 原文链接 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&…

pycharm新建分支并提送至GitHub

文章目录 前言pycharm创建本地分支Push至远程分支 前言 当我们写的项目代码越来越多时&#xff0c;一个master分支无法满足需求了&#xff0c;这个时候就需要创建分支来管理代码。 创建分支可以快速的回滚到某个节点的版本&#xff0c;也可以多个开发者同时开发一个项目&#…

剑指oferr68-II.二叉树的最近公共祖先

为什么这道题的难度是easy&#xff0c;我感觉挺难的啊&#xff0c;我想了挺久没有一点思路就直接看题解了。题解有两种解法&#xff0c;先看第一种存储父节点 class Solution {Map<Integer,TreeNode> parent new HashMap<Integer,TreeNode>();Set<Integer>…

windows nodejs 版本切换

一、按健winR弹出窗口&#xff0c;键盘输入cmd,然后敲回车。然后进入命令控制行窗口&#xff0c;并输入where node查看之前本地安装的node的路径。 二、找到上面找到的路径&#xff0c;将node.exe所在的父目录里面的所有东西都删除。 三、从官网下载安装包 https://github.com/…

Raft算法之日志复制

Raft算法之日志复制 一、日志复制大致流程 在Leader选举过程中&#xff0c;集群最终会选举出一个Leader节点&#xff0c;而集群中剩余的其他节点将会成为Follower节点。Leader节点除了向Follower节点发送心跳消息&#xff0c;还会处理客户端的请求&#xff0c;并将客户端的更…

AP5193 DC-DC宽电压LED降压恒流驱动器 LED电源驱动IC

产品 AP5193是一款PWM工作模式、外围简单、内置功率MOS管&#xff0c;适用于4.5-100V输入的高精度降压LED恒流驱动芯片。电流2.5A。AP5193可实现线性调光和PWM调光&#xff0c;线性调光脚有效电压范围0.55-2.6V.AP5193 工作频率可以通过RT 外部电阻编程来设定&#xff0c;同时…

linux下一个iic驱动(按键+点灯)-互斥

一、前提&#xff1a; 硬件部分&#xff1a; 1. rk3399开发板&#xff0c;其中的某一路iic&#xff0c;这个作为总线的主控制器 2. gd32单片机&#xff0c;其中的某一路iic&#xff0c;从设备。主要是按键上报和灯的亮灭控制。&#xff08;按键大约30个&#xff0c;灯在键的…

day34-servlet 分页

0目录 servlet 1.分页 分页逻辑1&#xff1a;数据库中20条记录&#xff0c;要求每页5条数据&#xff0c;则一共有4页 分页逻辑2&#xff1a;数据库中21条记录&#xff0c;要求每页5条数据&#xff0c;则一共有5页 分页逻辑3&#xff1a;数据库中19条记录&#xff0c;要求每页…

数字 IC 设计职位经典笔/面试题(二)

共100道经典笔试、面试题目&#xff08;文末可全领&#xff09; FPGA 中可以综合实现为 RAM/ROM/CAM 的三种资源及其注意事项&#xff1f; 三种资源&#xff1a;BLOCK RAM&#xff0c;触发器&#xff08;FF&#xff09;&#xff0c;查找表&#xff08;LUT&#xff09;&#xf…

【算法基础】2.1栈和队列(单调栈和单调队列)

文章目录 例题3302. 表达式求值&#xff08;栈的应用&#xff09;&#x1f62d;&#x1f62d;&#x1f62d;&#x1f62d;&#x1f62d;830. 单调栈知识点解法 154. 滑动窗口 &#xff08;单调队列&#xff09;知识点解法 相关链接 & 相关题目 例题 3302. 表达式求值&…

基于weka手工实现多层感知机(BPNet)

一、BP网络 1.1 单层感知机 单层感知机&#xff0c;就是只有一层神经元&#xff0c;它的模型结构如下1&#xff1a; 对于权重 w w w的更新&#xff0c;我们采用如下公式&#xff1a; w i w i Δ w i Δ w i η ( y − y ^ ) x i (1) w_iw_i\Delta w_i \\ \Delta w_i\eta(y…