目录
- 一、前言
- 二、六大监控模块指标及相关监控命令
- 2.1 CPU
- 2.2 IO/Disk
- 2.3 Swap(交换分区)
- 2.4 System
- 2.5 Network
- 2.6 Memory
- 三、写在最后
 
一、前言
如果将Linux系统当做一个车间的话,
CPU就是"工人",当CPU使用率过高时,计算速度就会下降;内存(Memory)就是"临时存储货物的仓库",相较于磁盘来说,内存读写速度会高很多;磁盘(Disk)就是"车间中真正的仓库",用于数据持久化;网络(Network)就是"车间中传送带",用于数据传输。交换区(Swap)就是"临时仓库与仓库之间的转换区",当物理内存不足时,拿出部分磁盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足情况。

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

二、六大监控模块指标及相关监控命令
2.1 CPU
一般来说,系统监控中最重要的就是CPU的监控。而CPU监控中,监控的数据又大致可以分为下面这些部分。

- 在上面这些监控数据中,我们需要经常关注的数据是user,iowait,system,cpu队列,softirq。这些相关的数据,又可以通过相关的Linux命令得到。
- 监控CPU中这些数据的命令或方式有很多,例如top、vmstat、lscpu、cpuinfo、atop、mpstat、pidstat、Dstat、sar、Nmon、cpupower、irqbalance;这些命令都有自己的特点和局限性,一般来说监控CPU比较常用的是top和vmstat。
- 对于命令的使用,我们应该是想到要监控什么数据,再想到用什么命令。而不是一上来就使用命令,查看所有的数据。这里以top命令为例,解释相关的数据。
2.2 IO/Disk
当一个系统调优到非常好的时候,基本上会卡在两个环节上,对计算密集型的应用来说,会卡在 CPU 上;对 I/O 密集型的应用来说,瓶颈会卡在 I/O 上。

- 对于磁盘IO的监控,也有很多的Linux命令,例如iostat、iotop、pidstat、Dstat、Nmon、sar。比较常用的就是iostat命令。
- 一般来说,使用iostat命令查看整体数据,iostat -x命令查看详细数据。
2.3 Swap(交换分区)
当物理内存不足会使用Swap(交换区或者虚拟内存)。其监控的数据如下:

- 对于Swap的监控,也有很多的Linux命令,例如top、vmstat、Nmon、sar、Meminfo、smen。比较常用的就是top命令和vmstat命令。
- 一般来说,用top命令查看Swap的基本信息,使用vmstat查看si和搜数据。

2.4 System

- 对于System的监控,也有很多的Linux命令,例如top、vmstat、atop、vmstat、pidstat、Nmon、sar。比较常用的就是top命令和vmstat命令。
2.5 Network

- 对于NetWork的监控,也有很多的Linux命令,例如netstat、ifstat、iftop、Ethtool。其中比较常用的就是netstat。
- 其中netstat常用的两个命令为netstat -i和netstat -ntlp。
2.6 Memory

- 对于Memory的监控,也有很多的Linux命令,例如top、atop、vmstat、pidstat、Dstat、Nmon、sar、free、smem。其中比较常用的就是top、vmstat、free。
三、写在最后
关于Linux服务器的监控,应该是我们想到需要什么数据时,才从而想到使用什么命令。上面只说了需要监控的指标和使用的命令,Linux相关命令详细使用就自行网上查一下即可

                
 
 
                     
            
        













 
                    

 
                 
                    