文章目录
- 一、系统监控基本介绍
- 二、内存监控
- 2.1、内存监控字段解析
- 2.2、windows下查看内存
- 2.2.1、通过cmd中命令查看内存条信息:
- 2.2.2、通过cmd中命令查看物理内存信息:
- 2.2.3、使用任务管理器查看内存
- 2.2.4、使用资源监视器查看内存
- 2.2.5、使用系统信息工具查看内存
- 2.2.6、使用设备管理器查看内存
- 2.3、linux下查看内存、CPU等
- 2.3.1、free命令
- 2.3.2、/proc/meminfo文件
- 2.3.3、vmstat命令
- 2.3.4、top命令
- 2.3.5、sar命令
- 2.3.6、mpstat命令
- 2.3.7、glances命令
- 2.3.8、atop命令
一、系统监控基本介绍
系统监控室系统管理员日常的主要工作之一,它可以分为性能监控和故障监控。不论windows还是Linux系统都提供了各种日志及性能监控工具以帮助管理员完成系统监控工作。
二、内存监控
2.1、内存监控字段解析
字段 | 类别 | 说明 |
---|---|---|
r | procs(进程) | 在运行队列中等待的进程数 |
b | procs(进程) | 在等待io的进程数 |
swpd | memory(内存) | 已经使用的交换内存(kb) |
free | memory(内存) | 空闲的物理内存(kb) |
buff | memory(内存) | 用做缓冲区的内存数(kb) |
cache | memory(内存) | 用做高速缓存的内存数(kb) |
si | swap(交换页面) | 从磁盘交换到内存的交换页数量(kb/秒) |
so | swap(交换页面) | 从内存交换到磁盘的交换页数据(kb/秒) |
bi | IO(块设备) | 发送到块设备的块数(块/秒) |
bo | IO(块设备) | 从块设备中接收的块数(块/秒) |
in | system(系统) | 每秒的中断数,包括时钟中断 |
cs | system(系统) | 每秒的上下文切换的次数 |
us | CPU(处理器) | 用户进程使用的cpu时间(%) |
sy | CPU(处理器) | 系统进程使用的cpu时间(%) |
id | CPU(处理器) | CPU空闲时间(%) |
wa | CPU(处理器) | 等待IO所消耗的cpu时间(%) |
st | CPU(处理器) | 从虚拟设备中获得的时间(%) |
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 -btotal used free shared buff/cache available
Mem: 1841668096 133828608 1285623808 557056 422215680 1555902464
Swap: 0 0 0
以千字节(KB)为单位显示。
[root@httpsl ~]# free -ktotal used free shared buff/cache available
Mem: 1798504 130824 1253508 544 414172 1518468
Swap: 0 0 0
以兆字节(MB)为单位显示。
[root@httpsl ~]# free -mtotal used free shared buff/cache available
Mem: 1756 128 1223 0 404 1482
Swap: 0 0 0
以吉字节(GB)为单位显示。
[root@httpsl ~]# free -gtotal used free shared buff/cache available
Mem: 1 0 1 0 0 1
Swap: 0 0 0
以易于阅读的格式(KB、MB、GB)显示,根据大小自动选择单位。
[root@httpsl ~]# free -htotal used free shared buff/cache available
Mem: 1.7G 127M 1.2G 544K 404M 1.4G
Swap: 0B 0B 0B
持续观察内存使用状况,每隔指定秒数刷新显示。
[root@httpsl ~]# free -s 10total used free shared buff/cache available
Mem: 1798504 134640 1226800 544 437064 1512644
Swap: 0 0 0total used free shared buff/cache available
Mem: 1798504 135096 1226304 544 437104 1512192
Swap: 0 0 0
显示内存总和列。
[root@httpsl ~]# free -ttotal 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 -s1798504 K total memory132216 K used memory177120 K active memory297544 K inactive memory1210020 K free memory37836 K buffer memory418432 K swap cache0 K total swap0 K used swap0 K free swap24361 non-nice user cpu ticks192 nice user cpu ticks12338 system cpu ticks9097168 idle cpu ticks834 IO-wait cpu ticks0 IRQ cpu ticks26 softirq cpu ticks0 stolen cpu ticks177020 pages paged in683504 pages paged out0 pages swapped in0 pages swapped out77553179 interrupts150449351 CPU context switches1717157188 boot time13072 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 st1 0 0 1209684 37908 418512 0 0 2 7 381 242 0 0 100 0 00 0 0 1209052 37916 418532 0 0 0 48 2112 3744 3 2 95 0 00 0 0 1209056 37916 418552 0 0 0 0 2087 3693 3 2 96 0 00 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+ COMMAND1 root 20 0 125628 4076 2612 S 0.0 0.2 0:01.43 systemd2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H5 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u4:06 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/07 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/08 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh9 root 20 0 0 0 0 S 0.0 0.0 0:07.51 rcu_sched10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain11 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+ COMMAND1 root 20 0 125628 4076 2612 S 0.0 0.2 0:01.44 systemd2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H5 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u4:06 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/07 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.5810: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.9210: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.0010: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/21714 0.07s 0.09s 0.00s 0B 0B 0B 4.0K root root -- - 27 S 0 2% AliYunDunMonit1703 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% atop1494 0.00s 0.01s 0.00s 0B 0B 0B 0B root root -- - 8 S 1 0% aliyun-service1377 0.01s 0.00s 0.00s 0B 0B 0B 0B root root -- - 7 S 0 0% AliYunDunUpdat542 0.00s 0.01s 0.00s 0B 0B 0B 0B root root -- - 1 S 1 0% systemd-logind872 0.00s 0.00s 0.00s 0B 0B 0B 0B root root -- - 5 S 0 0% tuned1303 0.00s 0.00s 0.00s 0B 0B 0B 8.0K root root -- - 3 S 1 0% rsyslogd547 0.00s 0.00s 0.00s 0B 0B 0B 0B polkitd polkitd -- - 7 S 1 0% polkitd366 0.00s 0.00s 0.00s 0B 4.0K 0B 212.0K root root -- - 1 S 1 0% systemd-journa1 0.00s 0.00s 0.00s 0B 0B 0B 0B root root -- - 1 S 1 0% systemd1637 0.00s 0.00s 0.00s 0B 0B 0B 0B root root -- - 8 S 1 0% assist_daemon551 0.00s 0.00s 0.00s 0B 0B 0B 0B dbus dbus -- - 1 S 0 0% dbus-daemon1307 0.00s 0.00s 0.00s 0B 0B 0B 12.0K root root -- - 1 S 0 0% crond433 0.00s 0.00s 0.00s 0B 0B 0B 4.0K root root -- - 2 S 0 0% auditd5 0.00s 0.00s 0.00s 0B 0B 0B 0B root root -- - 1 S 0 0% kworker/u4:06 0.00s 0.00s 0.00s 0B 0B 0B 0B root root -- - 1 S 0 0% ksoftirqd/09 0.00s 0.00s 0.00s 0B 0B 0B 0B root root -- - 1 S 0 0% rcu_sched14 0.00s 0.00s 0.00s 0B 0B 0B 0B root root -- - 1 S 1 0% ksoftirqd/1100 0.00s 0.00s 0.00s 0B 0B 0B 0B root root -- - 1 S 0 0% kauditd253 0.00s 0.00s 0.00s 0B 0B 0B 0B root root -- - 1 S 0 0% kworker/0:1H