Linux系统监控


一、系统监控基本介绍

系统监控室系统管理员日常的主要工作之一,它可以分为性能监控和故障监控。不论windows还是Linux系统都提供了各种日志及性能监控工具以帮助管理员完成系统监控工作。

二、内存监控

2.1、内存监控字段解析

字段类别说明
rprocs(进程)在运行队列中等待的进程数
bprocs(进程)在等待io的进程数
swpdmemory(内存)已经使用的交换内存(kb)
freememory(内存)空闲的物理内存(kb)
buffmemory(内存)用做缓冲区的内存数(kb)
cachememory(内存)用做高速缓存的内存数(kb)
siswap(交换页面)从磁盘交换到内存的交换页数量(kb/秒)
soswap(交换页面)从内存交换到磁盘的交换页数据(kb/秒)
biIO(块设备)发送到块设备的块数(块/秒)
boIO(块设备)从块设备中接收的块数(块/秒)
insystem(系统)每秒的中断数,包括时钟中断
cssystem(系统)每秒的上下文切换的次数
usCPU(处理器)用户进程使用的cpu时间(%)
syCPU(处理器)系统进程使用的cpu时间(%)
idCPU(处理器)CPU空闲时间(%)
waCPU(处理器)等待IO所消耗的cpu时间(%)
stCPU(处理器)从虚拟设备中获得的时间(%)

2.2、windows下查看内存

2.2.1、通过cmd中命令查看内存条信息:

C:\Users\yuanl>wmic memorychip list brief
Capacity    DeviceLocator   MemoryType  Name             Tag                TotalWidth
8589934592  ChannelA-DIMM0  0           Physical Memory  Physical Memory 0  64
8589934592  ChannelB-DIMM0  0           Physical Memory  Physical Memory 1  64
  • Capacity:内存大小,单位为字节。
  • DeviceLocator:内存条在主板上的位置。
  • MemoryType:内存类型,0表示未知内存类型,1表示DRAM,2表示EDRAM,3表示VRAM,4表示SRAM,5表示RAM,6表示ROM,7表示FLASH,8表示EEPROM。
  • Name:内存条名称。
  • Tag:内存条标签。
  • otalWidth:总线宽度,单位为位。

2.2.2、通过cmd中命令查看物理内存信息:

C:\Users\yuanl>wmic memphysical list brief
MaxCapacity  MemoryDevices  Model  Name
33554432     2                     Physical Memory Array
  • MaxCapacity:物理内存阵列的最大容量,单位为字节。
  • MemoryDevices:可用内存设备(或插槽)的总数。
  • Model:内存设备的型号。
  • Name:物理内存阵列的名称。

2.2.3、使用任务管理器查看内存

过按Ctrl+Alt+Del或右键点击任务栏选择“任务管理器”,可以在“性能”标签下查看到物理内存的使用情况,包括总量、已使用量和剩余量。

在这里插入图片描述

2.2.4、使用资源监视器查看内存

过在开始菜单搜索“资源监视器”或在任务管理器的“性能”标签下点击“打开资源监视器”,可以查看更详细的内存使用情况,包括物理内存和虚拟内存的使用详情。

在这里插入图片描述

2.2.5、使用系统信息工具查看内存

使用msinfo32命令可以打开系统信息窗口,虽然这主要显示的是软件配置和版本信息,但也提供了部分硬件信息。

在这里插入图片描述

2.2.6、使用设备管理器查看内存

打开设备管理器不仅可以查看内存设备,还可以查看其他所有硬件设备的详细信息,通过“控制面板”中的“系统和安全”进入“系统管理工具”找到并使用“设备管理器”。

在这里插入图片描述

2.3、linux下查看内存、CPU等

2.3.1、free命令

以字节为单位显示内存使用情况。

[root@httpsl ~]# free -b
              total        used        free      shared  buff/cache   available
Mem:     1841668096   133828608  1285623808      557056   422215680  1555902464
Swap:             0           0           0

以千字节(KB)为单位显示。

[root@httpsl ~]# free -k
              total        used        free      shared  buff/cache   available
Mem:        1798504      130824     1253508         544      414172     1518468
Swap:             0           0           0

以兆字节(MB)为单位显示。

[root@httpsl ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1756         128        1223           0         404        1482
Swap:             0           0           0

以吉字节(GB)为单位显示。

[root@httpsl ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:              1           0           1           0           0           1
Swap:             0           0           0

以易于阅读的格式(KB、MB、GB)显示,根据大小自动选择单位。

[root@httpsl ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.7G        127M        1.2G        544K        404M        1.4G
Swap:            0B          0B          0B

持续观察内存使用状况,每隔指定秒数刷新显示。

[root@httpsl ~]# free -s 10
              total        used        free      shared  buff/cache   available
Mem:        1798504      134640     1226800         544      437064     1512644
Swap:             0           0           0

              total        used        free      shared  buff/cache   available
Mem:        1798504      135096     1226304         544      437104     1512192
Swap:             0           0           0

显示内存总和列。

[root@httpsl ~]# free -t
              total        used        free      shared  buff/cache   available
Mem:        1798504      134544     1226772         544      437188     1512728
Swap:             0           0           0
Total:      1798504      134544     1226772
  • Mem行:显示物理内存的使用情况。
  • total:系统总的可用物理内存。
  • used:已经被使用的物理内存。
  • free:还有多少物理内存可用。
  • shared:被共享使用的物理内存大小。
  • buff/cache:被buffer和cache使用的物理内存大小。
  • available:还可以被应用程序使用的物理内存大小。
  • Swap行:显示交换空间(swap space)的使用情况。
  • total:系统总的可用交换空间大小。
  • used:已经被使用的交换空间。
  • free:还有多少交换空间可用。

2.3.2、/proc/meminfo文件

在Linux系统中,/proc/meminfo是一个伪文件,用于提供系统的内存使用情况的详细信息。这个文件包含了系统内存的多种统计信息,包括总内存、空闲内存、缓存内存等。通过查看/proc/meminfo文件,可以实时了解系统的内存使用状况,对于系统性能分析和故障诊断具有重要意义。

[root@httpsl ~]# cat /proc/meminfo 
MemTotal:        1798504 kB
MemFree:         1209972 kB
MemAvailable:    1514392 kB
Buffers:           37652 kB
Cached:           377780 kB
SwapCached:            0 kB
Active:           177124 kB
Inactive:         297364 kB
Active(anon):      59308 kB
Inactive(anon):      224 kB
Active(file):     117816 kB
Inactive(file):   297140 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                36 kB
Writeback:             0 kB
AnonPages:         59176 kB
Mapped:            48372 kB
Shmem:               480 kB
Slab:              54176 kB
SReclaimable:      40596 kB
SUnreclaim:        13580 kB
KernelStack:        2512 kB
PageTables:         4124 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      899252 kB
Committed_AS:     361260 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        9120 kB
VmallocChunk:   34359724540 kB
Percpu:              328 kB
HardwareCorrupted:     0 kB
AnonHugePages:     20480 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       62136 kB
DirectMap2M:     1951744 kB
DirectMap1G:           0 kB
  • MemTotal:系统总内存大小,单位为KB。
  • MemFree:系统空闲内存大小,单位为KB。
  • MemAvailable:系统可用内存大小,单位为KB。
  • Buffers:缓冲区内存大小,单位为KB。
  • Cached:缓存内存大小,单位为KB。
  • SwapCached:交换缓存大小,单位为KB。
  • Active:活动内存大小,单位为KB。
  • Inactive:非活动内存大小,单位为KB。
  • Active(anon):匿名活动内存大小,单位为KB。
  • Inactive(anon):匿名非活动内存大小,单位为KB。
  • Active(file):文件活动内存大小,单位为KB。
  • Inactive(file):文件非活动内存大小,单位为KB。
  • Unevictable:不可回收内存大小,单位为KB。
  • Mlocked:锁定内存大小,单位为KB。
  • SwapTotal:交换分区总大小,单位为KB。
  • SwapFree:交换分区空闲大小,单位为KB。
  • Dirty:脏页内存大小,单位为KB。
  • Writeback:写回内存大小,单位为KB。
  • AnonPages:匿名页面内存大小,单位为KB。
  • Mapped:映射内存大小,单位为KB。
  • Shmem:共享内存大小,单位为KB。
  • Slab:内核数据结构缓存大小,单位为KB。
  • SReclaimable:可回收内核数据结构缓存大小,单位为KB。
  • SUnreclaim:不可回收内核数据结构缓存大小,单位为KB。
  • KernelStack:内核栈内存大小,单位为KB。
  • PageTables:页表内存大小,单位为KB。
  • NFS_Unstable:NFS不稳定页面内存大小,单位为KB。
  • Bounce:反弹缓冲区内存大小,单位为KB。
  • WritebackTmp:临时写回内存大小,单位为KB。
  • CommitLimit:提交限制内存大小,单位为KB。
  • Committed_AS:已提交地址空间内存大小,单位为KB。
  • VmallocTotal:虚拟内存总大小,单位为KB。
  • VmallocUsed:虚拟内存已使用大小,单位为KB。
  • VmallocChunk:虚拟内存块大小,单位为KB。
  • Percpu:每个CPU的内存大小,单位为KB。
  • HardwareCorrupted:硬件损坏内存大小,单位为KB。
  • AnonHugePages:匿名大页内存大小,单位为KB。
  • CmaTotal:连续内存分配器总大小,单位为KB。
  • CmaFree:连续内存分配器空闲大小,单位为KB。
  • HugePages_Total:大页总数。
  • HugePages_Free:大页空闲数。
  • HugePages_Rsvd:预留的大页数。
  • HugePages_Surp:超过预期的大页数。
  • Hugepagesize:大页大小,单位为KB。
  • DirectMap4k:直接映射4KB内存大小,单位为KB。
  • DirectMap2M:直接映射2MB内存大小,单位为KB。
  • DirectMap1G:直接映射1GB内存大小,单位为KB。

2.3.3、vmstat命令

显示系统的内存统计信息。

root@httpsl ~]# vmstat -s
      1798504 K total memory
       132216 K used memory
       177120 K active memory
       297544 K inactive memory
      1210020 K free memory
        37836 K buffer memory
       418432 K swap cache
            0 K total swap
            0 K used swap
            0 K free swap
        24361 non-nice user cpu ticks
          192 nice user cpu ticks
        12338 system cpu ticks
      9097168 idle cpu ticks
          834 IO-wait cpu ticks
            0 IRQ cpu ticks
           26 softirq cpu ticks
            0 stolen cpu ticks
       177020 pages paged in
       683504 pages paged out
            0 pages swapped in
            0 pages swapped out
     77553179 interrupts
    150449351 CPU context switches
   1717157188 boot time
        13072 forks
  • total memory:总内存大小,单位为KB。
  • used memory:已使用的内存大小,单位为KB。
  • active memory:活动内存大小,单位为KB。
  • inactive memory:非活动内存大小,单位为KB。
  • free memory:空闲内存大小,单位为KB。
  • buffer memory:缓冲区内存大小,单位为KB。
  • swap cache:交换缓存大小,单位为KB。
  • total swap:交换分区总大小,单位为KB。
  • used swap:已使用的交换分区大小,单位为KB。
  • free swap:空闲交换分区大小,单位为KB。
  • non-nice user cpu ticks:非优先级用户CPU时间片。
  • nice user cpu ticks:优先级用户CPU时间片。
  • system cpu ticks:系统CPU时间片。
  • idle cpu ticks:空闲CPU时间片。
  • IO-wait cpu ticks:等待I/O操作的CPU时间片。
  • IRQ cpu ticks:处理中断请求的CPU时间片。
  • softirq cpu ticks:处理软中断的CPU时间片。
  • stolen cpu ticks:被其他虚拟机占用的CPU时间片。
  • pages paged in:从磁盘调入内存的页面数。
  • pages paged out:从内存调出到磁盘的页面数。
  • pages swapped in:从交换分区调入内存的页面数。
  • pages swapped out:从内存调出到交换分区的页面数。
  • interrupts:中断次数。
  • CPU context switches:CPU上下文切换次数。
  • boot time:系统启动时间。
  • forks:进程创建次数。

每秒更新一次内存使用情况,按Ctrl+C可以停止实时监控。

[root@httpsl ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1209684  37908 418512    0    0     2     7  381  242  0  0 100  0  0
 0  0      0 1209052  37916 418532    0    0     0    48 2112 3744  3  2 95  0  0
 0  0      0 1209056  37916 418552    0    0     0     0 2087 3693  3  2 96  0  0
 0  0      0 1208940  37924 418544    0    0     0    76 2092 3730  2  2 96  1  0
  • procs:进程信息,包括运行队列中的进程数(r)和等待磁盘I/O的进程数(b)。
  • memory:内存使用情况,包括交换分区使用量(swpd)、空闲内存量(free)、缓冲区大小(buff)、缓存大小(cache)。
  • swap:交换分区使用情况,包括从磁盘读取的数据量(si)和写入磁盘的数据量(so)。
  • io:磁盘I/O统计信息,包括块设备输入数据量(bi)和输出数据量(bo)。
  • system:系统中断和上下文切换统计信息,包括每秒中断次数(in)和每秒上下文切换次数(cs)。
  • cpu:CPU使用情况,包括用户态占用时间百分比(us)、系统态占用时间百分比(sy)、空闲时间百分比(id)、等待I/O时间百分比(wa)和被强制调度时间百分比(st)。

2.3.4、top命令

参数后面跟一个数字,用来设置top命令界面刷新的时间间隔,单位是秒;默认情况下,这个时间间隔为5秒。

top - 09:02:43 up 12:56,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  83 total,   1 running,  82 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.1 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798504 total,  1207480 free,   133764 used,   457260 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1513040 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND               
 1714 root      10 -10  141608  16248  10576 S   1.4  0.9  11:22.11 AliYunDunMonito       
 1703 root      10 -10  113392   9184   7084 S   0.2  0.5   3:11.77 AliYunDun             
13187 root      20   0  161968   2212   1580 R   0.2  0.1   0:00.01 top                   
    1 root      20   0  125628   4076   2612 S   0.0  0.2   0:01.42 systemd               
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd              
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H          
    5 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/u4:0          
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.02 ksoftirqd/0           
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0           
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                
    9 root      20   0       0      0      0 S   0.0  0.0   0:07.44 rcu_sched             
   10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain         
   11 root      rt   0       0      0      0 S   0.0  0.0   0:00.11 watchdog/0       
  • PID: 进程ID,用于唯一标识一个进程。
  • USER: 运行该进程的用户。
  • PR: 进程的优先级,数值越小表示优先级越高。
  • NI: 进程的nice值,用于调整进程的优先级。正值表示降低优先级,负值表示提高优先级。
  • VIRT: 进程使用的虚拟内存量,包括代码、数据和共享库等。
  • RES: 进程使用的物理内存量,不包括交换区。
  • SHR: 进程使用的共享内存量。
  • S: 进程的状态,如运行(R)、休眠(S)、僵尸(Z)等。
  • %CPU: 进程占用的CPU百分比。
  • %MEM: 进程占用的内存百分比。
  • TIME+: 进程运行的总时间,包括用户态和内核态的时间。
  • COMMAND: 进程的命令名或命令行。

-b参数使top命令以批处理模式运行,在这种模式下,top不会与终端进行交互。

[root@httpsl ~]# top -b
top - 09:10:53 up 13:04,  1 user,  load average: 0.02, 0.02, 0.05
Tasks:  85 total,   1 running,  84 sleeping,   0 stopped,   0 zombie
%Cpu(s):  6.5 us,  3.2 sy,  0.0 ni, 90.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798504 total,  1206324 free,   134692 used,   457488 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1512120 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0  125628   4076   2612 S   0.0  0.2   0:01.43 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
    5 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/u4:0
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.02 ksoftirqd/0
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh
    9 root      20   0       0      0      0 S   0.0  0.0   0:07.51 rcu_sched
   10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain
   11 root      rt   0       0      0      0 S   0.0  0.0   0:00.12 watchdog/0

当与-b结合使用时,-n参数指定了top输出的次数。

[root@httpsl ~]# top -b -n 3
top - 09:11:46 up 13:05,  1 user,  load average: 0.01, 0.02, 0.05
Tasks:  85 total,   1 running,  84 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.4 us,  0.0 sy,  0.0 ni, 96.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798504 total,  1206892 free,   134064 used,   457548 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1512772 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0  125628   4076   2612 S   0.0  0.2   0:01.44 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
    5 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/u4:0
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.02 ksoftirqd/0
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0

2.3.5、sar命令

sar命令是Linux系统中一个强大的工具,用于收集、报告和保存系统活动信息。它能够提供关于系统性能的详细数据,帮助管理员监控系统状态并优化性能。

[root@httpsl ~]# sar
Linux 3.10.0-1160.114.2.el7.x86_64 (httpsl)     06/01/2024      _x86_64_        (2 CPU)

12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      0.26      0.00      0.12      0.00      0.00     99.62
12:20:01 AM     all      0.25      0.00      0.12      0.00      0.00     99.63
12:30:01 AM     all      0.24      0.00      0.12      0.00      0.00     99.64
12:40:01 AM     all      0.24      0.00      0.12      0.00      0.00     99.63
12:50:01 AM     all      0.23      0.00      0.11      0.00      0.00     99.65
01:00:01 AM     all      0.25      0.00      0.12      0.00      0.00     99.63
  • %user:用户态占用CPU百分比
  • %nice:优先级调整为负值的用户态进程占用CPU百分比
  • %system:内核态占用CPU百分比
  • %iowait:等待I/O操作完成的时间占用CPU百分比
  • %steal:虚拟化环境中,被其他虚拟机占用的CPU时间百分比
  • %idle:空闲CPU时间百分比

监控CPU资源。(每10秒采集一次数据,连续采集3次,并将结果存入名为test的文件。)

[root@httpsl ~]# sar -u -o test 10 3
Linux 3.10.0-1160.114.2.el7.x86_64 (httpsl)     06/01/2024      _x86_64_        (2 CPU)

10:10:35 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:10:45 AM     all      1.06      0.00      0.50      0.05      0.00     98.39
10:10:55 AM     all      0.25      0.00      0.10      0.00      0.00     99.65
10:11:05 AM     all      0.25      0.00      0.10      0.00      0.00     99.65
Average:        all      0.52      0.00      0.24      0.02      0.00     99.23

监控内存交换空间。(sar -r 10 3 会显示物理内存和交换空间的统计信息,如kbmemfree、kbmemused等指标。)

[root@httpsl ~]# sar -r 10 3
Linux 3.10.0-1160.114.2.el7.x86_64 (httpsl)     06/01/2024      _x86_64_        (2 CPU)

10:16:36 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
10:16:46 AM   1204964    593540     33.00     39916    379252    362760     20.17    178128    300284       496
10:16:56 AM   1204960    593544     33.00     39916    379252    362760     20.17    178144    300292       488
10:17:06 AM   1204960    593544     33.00     39920    379252    362760     20.17    178144    300292       488
Average:      1204961    593543     33.00     39917    379252    362760     20.17    178139    300289       491
  • kbmemfree:空闲内存大小,单位为KB
  • kbmemused:已使用内存大小,单位为KB
  • %memused:已使用内存占总内存的百分比
  • kbbuffers:缓冲区大小,单位为KB
  • kbcached:缓存大小,单位为KB
  • kbcommit:系统当前使用的总内存大小,单位为KB
  • %commit:系统当前使用的总内存占总内存的百分比
  • kbactive:活动内存大小,单位为KB
  • kbinact:非活动内存大小,单位为KB
  • kbdirty:脏页大小,单位为KB

监控进程队列长度。(使用 sar -q可以用于监控进程队列长度和平均负载状态)

[root@httpsl ~]# sar -q
Linux 3.10.0-1160.114.2.el7.x86_64 (httpsl)     06/01/2024      _x86_64_        (2 CPU)

12:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
12:10:01 AM         1       158      0.00      0.01      0.05         0
12:20:01 AM         0       158      0.00      0.01      0.05         0
12:30:01 AM         0       158      0.00      0.02      0.05         0
12:40:01 AM         0       158      0.00      0.01      0.05         0
12:50:01 AM         0       158      0.00      0.01      0.05         0
01:00:01 AM         1       158      0.00      0.01      0.05         0
01:10:01 AM         0       158      0.00      0.01      0.05         0
  • runq-sz:运行队列长度,即等待运行的进程数
  • plist-sz:进程列表大小,即当前系统中正在运行的进程数量
  • ldavg-1:过去1分钟的平均负载值
  • ldavg-5:过去5分钟的平均负载值
  • ldavg-15:过去15分钟的平均负载值
  • blocked:被阻塞的进程数量

2.3.6、mpstat命令

mpstat是Linux系统中一个用于监控多处理器性能的工具,它能够报告每个处理器的使用情况、上下文切换、中断以及CPU负载等信息。

显示所有CPU状态。

[root@httpsl ~]# mpstat -A
Linux 3.10.0-1160.114.2.el7.x86_64 (httpsl)     06/01/2024      _x86_64_        (2 CPU)

10:32:09 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
10:32:09 AM  all    0.27    0.00    0.14    0.01    0.00    0.00    0.00    0.00    0.00   99.59
10:32:09 AM    0    0.26    0.00    0.13    0.01    0.00    0.00    0.00    0.00    0.00   99.59
10:32:09 AM    1    0.27    0.00    0.14    0.00    0.00    0.00    0.00    0.00    0.00   99.58

10:32:09 AM  CPU    intr/s
10:32:09 AM  all   1683.31
10:32:09 AM    0     66.01
10:32:09 AM    1     63.92

10:32:09 AM  CPU        0/s        1/s        4/s        6/s        8/s        9/s       10/s       11/s       12/s       14/s       15/s       24/s       25/s       26/s       27/s       28/s       29/s       30/s      NMI/s      LOC/s      SPU/s      PMI/s      IWI/s      RTR/s      RES/s      CAL/s      TLB/s      TRM/s      THR/s      DFR/s      MCE/s      MCP/s      ERR/s      MIS/s      PIN/s      NPI/s      PIW/s
10:32:09 AM    0       0.00       0.00       0.01       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.75       0.00       0.00       0.00       0.00       0.86       0.00     805.37       0.00       0.00       5.02       0.00      30.57       0.04       0.04       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00
10:32:09 AM    1       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.60       0.00       0.00       0.00       0.00       0.00     804.50       0.00       0.00       4.94       0.00      30.55       0.01       0.05       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00

10:32:09 AM  CPU       HI/s    TIMER/s   NET_TX/s   NET_RX/s    BLOCK/s BLOCK_IOPOLL/s  TASKLET/s    SCHED/s  HRTIMER/s      RCU/s
10:32:09 AM    0       0.00      32.50       0.00       0.73       0.84       0.00       0.00      14.34       0.00      17.60
10:32:09 AM    1       0.00      31.79       0.00       0.00       0.00       0.00       0.00      14.65       0.00      17.48
  • %usr:用户态所使用CPU的百分比。
  • %nice:具有nice优先级的用户所使用CPU的百分比。
  • %sys:内核进程使用的CPU百分比。
  • %iowait:等待进行I/O操作所使用的CPU时间百分比。
  • %irq:用于处理系统中断的CPU百分比。
  • %soft:用于软件中断的CPU百分比。
  • %steal:虚拟机强制CPU等待的时间百分比。
  • %guest:虚拟机占用CPU时间的百分比。
  • %idle:CPU的空闲时间百分比。
  • intr/s:每秒中断次数。
  • CPU HI/s:每秒硬中断次数。
  • TIMER/s:每秒定时器中断次数。
  • NET_TX/s:每秒网络发送数据包次数。
  • NET_RX/s:每秒网络接收数据包次数。
  • BLOCK/s:每秒阻塞任务数量。
  • BLOCK_IOPOLL/s:每秒阻塞在I/O轮询上的进程数量。
  • TASKLET/s:每秒tasklet调度次数。
  • SCHED/s:每秒调度次数。
  • HRTIMER/s:每秒高精度定时器中断次数。
  • RCU/s:每秒RCU锁保护的临界区执行次数。

指定要监控的CPU编号,使用ALL表示监控所有CPU。

[root@httpsl ~]# mpstat -P ALL
Linux 3.10.0-1160.114.2.el7.x86_64 (httpsl)     06/01/2024      _x86_64_        (2 CPU)

10:35:15 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
10:35:15 AM  all    0.27    0.00    0.14    0.01    0.00    0.00    0.00    0.00    0.00   99.58
10:35:15 AM    0    0.26    0.00    0.13    0.01    0.00    0.00    0.00    0.00    0.00   99.59
10:35:15 AM    1    0.27    0.00    0.14    0.00    0.00    0.00    0.00    0.00    0.00   99.58

2.3.7、glances命令

Glances是一个由Python编写的、基于curses开发的跨平台命令行系统监视工具。它能够提供实时的系统性能监控,包括但不限于CPU使用率、内存使用情况、网络流量、磁盘I/O和其他处理器状态等。

注:因为有些麻烦,这里没有安装Glances

2.3.8、atop命令

atop 是 Linux 系统中一款强大的性能监控工具,它可以实时跟踪系统资源的使用情况,并记录历史数据以供后续分析。

[root@httpsl ~]# yum install -y atop

直接输入atop命令即可开始监控系统的实时活动。

ATOP - httpsl                                         2024/06/01  10:50:06                                         -----------------                                           10s elapsed
PRC | sys    0.09s | user   0.15s |              | #proc     83 | #trun      1 | #tslpi   156 |               | #tslpu     0 | #zombie    0 | clones     5 |              | #exit      5 |
CPU | sys       1% | user      1% | irq       0% |              |              | idle    199% |  wait      0% | steal     0% | guest     0% |              |              | curf 2.50GHz |
cpu | sys       0% | user      1% | irq       0% |              |              | idle     99% |  cpu001 w  0% | steal     0% | guest     0% |              |              | curf 2.50GHz |
cpu | sys       0% | user      0% | irq       0% |              |              | idle    100% |  cpu000 w  0% | steal     0% | guest     0% |              |              | curf 2.50GHz |
CPL | avg1    0.00 | avg5    0.01 |              | avg15   0.05 |              |              |  csw    33029 | intr   17108 |              |              | numcpu     2 |              |
MEM | tot     1.7G | free  679.0M | cache 847.0M | dirty   0.2M | buff   45.6M | slab   64.2M |  slrec  50.5M | shmem   0.5M | shrss   0.0M | shswp   0.0M |              | numnode    1 |
SWP | tot     0.0M | free    0.0M |              | swcac   0.0M |              |              |               |              |              | vmcom 358.9M | vmlim 878.2M |              |
DSK |          vda | busy      0% | read       0 |              | write     13 | KiB/r      0 |  KiB/w      8 | MBr/s    0.0 | MBw/s    0.0 |              | avq     0.50 | avio 0.46 ms |
NET | transport    | tcpi      10 | tcpo       9 | udpi       0 | udpo       0 | tcpao      0 |  tcppo      0 | tcprs      0 | tcpie      0 | tcpor      0 | udpnp      0 | udpie      0 |
NET | network      | ipi       10 | ipo        9 |              | ipfrw      0 | deliv     10 |               |              |              |              | icmpi      0 | icmpo      0 |
NET | eth0    ---- | pcki      11 | pcko      10 | sp    0 Mbps | si    0 Kbps | so    4 Kbps |  coll       0 | mlti       0 | erri       0 | erro       0 | drpi       0 | drpo       0 |

  PID     SYSCPU      USRCPU     RDELAY       VGROW       RGROW      RDDSK       WRDSK      RUID         EUID          ST     EXC       THR      S     CPUNR       CPU      CMD        1/2
 1714      0.07s       0.09s      0.00s          0B          0B         0B        4.0K      root         root          --       -        27      S         0        2%      AliYunDunMonit
 1703      0.00s       0.03s      0.00s          0B          0B         0B        4.0K      root         root          --       -        11      S         0        0%      AliYunDun
13938      0.01s       0.01s      0.00s          0B          0B         0B          0B      root         root          --       -         1      R         1        0%      atop
 1494      0.00s       0.01s      0.00s          0B          0B         0B          0B      root         root          --       -         8      S         1        0%      aliyun-service
 1377      0.01s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         7      S         0        0%      AliYunDunUpdat
  542      0.00s       0.01s      0.00s          0B          0B         0B          0B      root         root          --       -         1      S         1        0%      systemd-logind
  872      0.00s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         5      S         0        0%      tuned
 1303      0.00s       0.00s      0.00s          0B          0B         0B        8.0K      root         root          --       -         3      S         1        0%      rsyslogd
  547      0.00s       0.00s      0.00s          0B          0B         0B          0B      polkitd      polkitd       --       -         7      S         1        0%      polkitd
  366      0.00s       0.00s      0.00s          0B        4.0K         0B      212.0K      root         root          --       -         1      S         1        0%      systemd-journa
    1      0.00s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         1      S         1        0%      systemd
 1637      0.00s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         8      S         1        0%      assist_daemon
  551      0.00s       0.00s      0.00s          0B          0B         0B          0B      dbus         dbus          --       -         1      S         0        0%      dbus-daemon
 1307      0.00s       0.00s      0.00s          0B          0B         0B       12.0K      root         root          --       -         1      S         0        0%      crond
  433      0.00s       0.00s      0.00s          0B          0B         0B        4.0K      root         root          --       -         2      S         0        0%      auditd
    5      0.00s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         1      S         0        0%      kworker/u4:0
    6      0.00s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         1      S         0        0%      ksoftirqd/0
    9      0.00s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         1      S         0        0%      rcu_sched
   14      0.00s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         1      S         1        0%      ksoftirqd/1
  100      0.00s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         1      S         0        0%      kauditd
  253      0.00s       0.00s      0.00s          0B          0B         0B          0B      root         root          --       -         1      S         0        0%      kworker/0:1H
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十一的学习笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值