linux常用运维工具uptime、iostat、vmstat、sar

news/2024/7/1 2:32:20

目录

一、uptime

二、iostat

三、vmstat

四、sar


一、uptime

uptime可以告诉你系统已经运行了多久。uptime命令回显一行信息,包括:系统运行了多久,目前有多少用户在登录,过去1、5、15分钟系统平均负载。这些内容和命令w回显的第一行完全一样。
系统平均负载指的是,过去一段时间内(1、5、15分钟)处于runnable或uninterruptable状态的进程数的平均值。处于runnable状态的进程正在使用或等待使用CPU。处于uninterruptable状态的进程等待IO。
系统中的平均负载没有对CPU数量进行标准化。因此在1个CPU系统中,平均负载为1意味着CPU一直在加载。而在4个CPU的系统中,这意味着75%的时间是空闲的。

w15:55:07 up 1 day, 20:44,  1 user,  load average: 0.42, 0.42, 0.39
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.250.7    15:50    3.00s  1:14m  0.01s wuptime15:55:10 up 1 day, 20:44,  1 user,  load average: 0.42, 0.42, 0.39

二、iostat

iostat命令生成两个报告:CPU利用率报告、设备利用率报告

iostat
Linux 3.10.0-1160.15.2.el7.x86_64 (ibjvm-010)   04/08/2021      _x86_64_        (8 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle3.30    0.00    1.69    0.16    0.00   94.85Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.66         3.64         5.53     591832     899572
sdc               0.13         0.14        56.55      22339    9197761
sdb               6.29         4.57        64.14     742890   10432067
scd0              0.47        56.13         0.00    9128646          0
dm-0              0.67         3.56         5.52     579368     897484
dm-1              0.00         0.01         0.00       2204          0
dm-2              6.70         4.56        64.14     741854   10432067

CPU利用率报告,可以用iostat -c单独显示。对于多进程系统,CPU利用率是全局所有CPU的平均值。报告分为6列。

  • %user:用户级(应用)的CPU使用百分比
  • %nice:带有nice优先级的 用户级(应用)的CPU使用百分比
  • %system:系统级(内核)的CPU使用百分比
  • %iowait:系统发生磁盘I/O操作时,CPU空闲时间的百分比
  • %steal:当虚拟层为一个虚拟处理器提供服务时,虚拟CPU或CPU被迫花费的等待时间的百分比
  • %idle:系统没有发生磁盘I/O操作时,CPU空闲时间的百分比

设备利用率报告,可以用iostat -d单独显示。
该报告以物理设备或分区为基础提供统计信息。
可以在命令行中输入要显示统计信息的块设备和分区。
如果没有输入设备或分区,则显示系统所使用的每个设备的统计信息,并提供内核维护这些设备的统计信息。
如果命令行中给出了ALL关键字,那么就显示系统定义的每个设备的统计数据,包括那些从未使用过的设备。
默认情况下,传输速率以1K块的形式显示。如果设置了环境变量POSIXLY_CORRECT,在这种情况下使用512字节的块。
根据使用的标志,报告显示不同字段,介绍默认的几个,其他man iostat:

  • Device:设备名称
  • tps:每秒发送到该设备的传输数,一次传输指的是向该设备的一次I/O请求。多次逻辑上的请求会合并成一次I/O请求,因此每次I/O请求的传输规模不确定
  • Blk_read/s (kB_read/s, MB_read/s):该设备读取的数据量,以每秒的块数(千字节、兆字节)表示。块相当于扇区,因此其大小为512字节。
  • Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s):该设备写入的数据量,单位为块数(千字节、兆字节)。
  • Blk_read (kB_read, MB_read):该设备,读取的块总数(千字节、兆字节)。
  • Blk_wrtn (kB_wrtn, MB_wrtn):该设备,写入的块的总数(千字节、兆字节)。

三、vmstat

报告虚拟内存统计信息。回显内容很多,具体怎么参考使用需要经验积累。一般swap不应使用,内存不应使用率过高。cpu等待I/O不应太多,空闲太少说明cpu太忙。

vmstat -w
procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu--------r  b         swpd         free         buff        cache   si   so    bi    bo   in   cs  us  sy  id  wa  st2  0            0      2485064         2224      1613348    0    0     8    16   31   20   3   2  95   0   0vmstat -wa
procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu--------r  b         swpd         free        inact       active   si   so    bi    bo   in   cs  us  sy  id  wa  st2  0            0      2484884       935644      3949916    0    0     8    16   31   20   3   2  95   0   0

回显分为多个区域,逐个说明或man vmstat
procs

  • r,处于runnable状态的进程数
  • b,等待I/O结束的进程数

memory

  • swpd,使用的虚拟内存量
  • free,空闲的内存量
  • buff,缓冲区
  • cache,高速缓存
  • inact,不活动的内存(-a显示)
  • active,活动的内存(-a显示)

swap

  • si,每秒从swap分区读入内存的数据量
  • so,每秒从内存写入swap分区的数据量

io

  • bi,每秒从块设备接收数据块数
  • bo,每秒向块设备发送数据块数

system

  • in,每秒中断数,包括时钟
  • cs,每秒上下文切换数

cpu,这一部分参考iostat,几乎可以一一对应

  • us,用户时间(应用,包括nice级别的)
  • sy,系统时间(内核)
  • id,非等待I/O的空闲时间
  • wa,等待I/O的空闲时间
  • st,虚拟机层面损耗的时间

四、sar

sar收集、报告、保存系统活动信息(system activity information),相当于每10分钟统计一次iostat -c,可以看到一段时间内CPU使用率的变化情况,内容也和iostat -c回显列一样。

sarLinux 3.10.0-1160.15.2.el7.x86_64 (ibjvm-010)   04/08/2021      _x86_64_        (8 CPU)12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      3.25      0.00      1.64      0.11      0.00     95.00
12:20:01 AM     all      3.30      0.00      1.70      0.12      0.00     94.88
12:30:01 AM     all      3.30      0.00      1.68      0.11      0.00     94.91
12:40:01 AM     all      3.33      0.00      1.70      0.12      0.00     94.85
......


http://lihuaxi.xjx100.cn/news/235893.html

相关文章

手持终端以物联网的模式

近年来,物联宇手持终端以物联网的模式,开启了信息化的管理模式,迸发了新的自我提升和业务新商机。手持终端是一款智能的电子设备,它的核心功能为用户速带来业务效率的提升,如快递行业,每天的工作量需求大&a…

Linux基础教程之linux文件权限深度解读

基本命令——来源于马哥教育官网1.cut: cat /etc/passwd | cut -d’:’ -f7| uniq -c| sort -nr 2.authconfig 修改加密方式–passalgosha256 — update3.scp 上传文件-r dir ip:path 传目录file ip:path传文件-P port 指定端口4.rsync 同步文件-avz 源文件 ip:pathscp和rsync都…

中国互联网公司开源项目调研报告

近年来,开源技术得到越来越多的重视,微软收购GitHub、IBM收购红帽,都表明了开源的价值。国内公司也越来越多的参与开源,加入开源基金会/贡献开源项目。但是,它们到底做得如何呢?为此InfoQ统计了国内在GitHu…

centos8编译openssl-1.0.2u、openssl-1.1.1k

目录 一、给openssl-1.0.2u打包rpm 二、编译安装openssl-1.1.1k 三、给openssl-1.1.1k打包rpm(不推荐!) 近日openssl爆出拒绝服务、证书绕过漏洞,CVE编号CVE-2021-3449、CVE-2021-3450。 解决方法: CentOS7默认ope…

rabbitmq可靠发送的自动重试机制 --转

原贴地址 https://www.jianshu.com/p/6579e48d18ae https://www.jianshu.com/p/4112d78a8753 git项目代码地址 https://github.com/littlersmall/rabbitmq-access 转载于:https://www.cnblogs.com/hmpcly/p/10641688.html

【救援过程】升级openssl导致libcrypto.so.1.1动态库不可用

目录 一、故障重现 二、救援过程 一、故障重现 近日为了解决CVE-2021-3449: 拒绝服务漏洞、CVE-2021-3450: 证书校验漏洞,自己编译了openssl-1.1.1k。 亲测发现:只升级openssl的版本,动态库版本没有升级,系统可用。 升级openss…

201671030129 周婷 《英文文本统计分析》结对项目报告

项目内容这个作业属于哪个课程软件工程这个作业的要求在哪里软件工程结对项目课程学习目标熟悉软件开发整体流程及结对编程,提升自身能力本次作业在哪个具体方面帮助我们实现目标体验组队编程,体验一个完整的工程任务一: 作业所点评博客GetHu…