Linux服务器监控,你必须要知道的“指标”和“命令”!

时间:2024-05-19 20:24:10

一、前言

如果将Linux系统当做一个车间的话,CPU就是"工人",当CPU使用率过高时,计算速度就会下降;内存(Memory)就是"临时存储货物的仓库",相较于磁盘来说,内存读写速度会高很多;磁盘(Disk)就是"车间中真正的仓库",用于数据持久化;网络(Network)就是"车间中传送带",用于数据传输。交换区(Swap)就是"临时仓库与仓库之间的转换区",当物理内存不足时,拿出部分磁盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足情况。

Linux服务器监控,你必须要知道的“指标”和“命令”!

性能测试的过程中,性能监控是必不可少的,而其中操作系统级别的监控也是最为重要的一环。对于操作系统的监控,大致可以分为下面六个模块的监控:CPUMemoryIONetworkSystemSwap。而CPU是这六个模块中最为重要的分析对象。

Linux服务器监控,你必须要知道的“指标”和“命令”!

二、六大监控模块指标及相关监控命令

2.1 CPU

一般来说,系统监控中最重要的就是CPU的监控。而CPU监控中,监控的数据又大致可以分为下面这些部分。
Linux服务器监控,你必须要知道的“指标”和“命令”!

  • 在上面这些监控数据中,我们需要经常关注的数据是useriowait,system,cpu队列,softirq。这些相关的数据,又可以通过相关的Linux命令得到。
  • 监控CPU中这些数据的命令或方式有很多,例如top、vmstat、lscpu、cpuinfo、atop、mpstat、pidstat、Dstat、sar、Nmon、cpupower、irqbalance;这些命令都有自己的特点和局限性,一般来说监控CPU比较常用的是topvmstat
  • 对于命令的使用,我们应该是想到要监控什么数据,再想到用什么命令。而不是一上来就使用命令,查看所有的数据。这里以top命令为例,解释相关的数据。
    Linux服务器监控,你必须要知道的“指标”和“命令”!

2.2 IO/Disk

当一个系统调优到非常好的时候,基本上会卡在两个环节上,对计算密集型的应用来说,会卡在 CPU 上;对 I/O 密集型的应用来说,瓶颈会卡在 I/O 上
Linux服务器监控,你必须要知道的“指标”和“命令”!

  • 对于磁盘IO的监控,也有很多的Linux命令,例如iostat、iotop、pidstat、Dstat、Nmon、sar。比较常用的就是iostat命令。
  • 一般来说,使用iostat命令查看整体数据,iostat -x命令查看详细数据。
    Linux服务器监控,你必须要知道的“指标”和“命令”!

2.3 Swap(交换分区)

当物理内存不足会使用Swap(交换区或者虚拟内存)。其监控的数据如下:
Linux服务器监控,你必须要知道的“指标”和“命令”!

  • 对于Swap的监控,也有很多的Linux命令,例如top、vmstat、Nmon、sar、Meminfo、smen。比较常用的就是top命令和vmstat命令。

  • 一般来说,用top命令查看Swap的基本信息,使用vmstat查看si和搜数据。
    Linux服务器监控,你必须要知道的“指标”和“命令”!

2.4 System

Linux服务器监控,你必须要知道的“指标”和“命令”!

  • 对于System的监控,也有很多的Linux命令,例如top、vmstat、atop、vmstat、pidstat、Nmon、sar。比较常用的就是top命令和vmstat命令。
    Linux服务器监控,你必须要知道的“指标”和“命令”!

2.5 Network

Linux服务器监控,你必须要知道的“指标”和“命令”!

  • 对于NetWork的监控,也有很多的Linux命令,例如netstat、ifstat、iftop、Ethtool。其中比较常用的就是netstat
  • 其中netstat常用的两个命令为netstat -inetstat -ntlp
    Linux服务器监控,你必须要知道的“指标”和“命令”!

2.6 Memory

Linux服务器监控,你必须要知道的“指标”和“命令”!

  • 对于Memory的监控,也有很多的Linux命令,例如top、atop、vmstat、pidstat、Dstat、Nmon、sar、free、smem。其中比较常用的就是topvmstatfree
    Linux服务器监控,你必须要知道的“指标”和“命令”!

三、写在最后

关于Linux服务器的监控,应该是我们想到需要什么数据时,才从而想到使用什么命令。上面只说了需要监控的指标和使用的命令,Linux相关命令详细使用就自行网上查一下即可
Linux服务器监控,你必须要知道的“指标”和“命令”!