vmstat 其含义为虚拟内存状态,属于sysstat包。用于监控系统的虚拟内存、进程、CPU 和 I/O 等性能信息
1 2 3 4 5 6 7 ~]# vmstat 1 4 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 0 434196 2124 379168 0 0 8 3 105 195 0 1 98 0 0 3 0 0 434196 2124 379168 0 0 0 0 74 168 1 1 98 0 0 2 0 0 434208 2124 379168 0 0 0 0 114 204 0 1 99 0 0 1 0 0 434200 2124 379168 0 0 0 0 102 181 0 2 98 0 0
每1秒检测一次,检测四次。
1 2 3 4 5 6 Usage: vmstat [options] [采样间隔 [次数]] Options: -a 显示活动和非活动内存 -f
字段说明 procs 字段
memory 字段
swpd:使用虚拟内存大小
free:空闲物理内存大小
buff:用作缓冲内存的大小
cache:用作缓存的大小
swap
si:每秒从交换区写到内存的大小,由磁盘调入内存
so:每秒写入交换区的内存大小,由内存调入磁盘
IO
system in:每秒中断数,包括时钟中断 cs:每秒上下文切换数
cpu us:用户进程执行时间百分比 sy:内核系统进程执行时间百分比 id:空闲时间百分比 wa:IO等待时间百分比
iostat 属于sysstat包,用于监视系统输入输出设备和CPU的IO情况,是查看IO最基本的工具
1 2 3 4 5 6 7 8 ~]# iostat -x /dev/sda1 Linux 3.10.0-957.el7.x86_64 (test3) 2022年06月08日 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.39 0.00 1.14 0.03 0.00 98.44 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda1 0.00 0.00 0.01 0.00 0.12 0.04 31.63 0.00 1.83 1.05 41.40 1.71 0.00
字段说明
Device
rrqm/s
wrqm/s
r/s
w/s
rkB/s
wkB/s
avgrq-sz
avgqu-sz
await
r_await
w_await
svctm
%util
设备名称
每秒需要读取需求
每秒需要写入需求
实际读取需求
实际写入需求
实际读取的大小
实际写入的大小
等待IO
IO需求完成的平均时间
IO消耗的CPU百分比
dstat 属于dstat包,需要先进行安装yum install -y dstat
,可以同时显示 CPU 使用率、内存使用、磁盘 I/O、网络流量、系统负载、进程状态等信息,使你能够全面了解系统的健康状态
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ~] You did not select any stats, using -cdngy by default. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 0 0 100 0 0 0|1630B 4924B| 0 0 | 0 2B| 31 50 1 0 99 0 0 0| 0 0 | 60B 914B| 0 0 | 41 65 ~] ----total-cpu-usage---- usr sys idl wai hiq siq 0 0 100 0 0 0 0 1 99 0 0 0 ~] -dsk/total- read writ 1629B 4922B 0 0 0 0 ~] ------memory-usage----- used buff cach free 218M 672k 550M 76.0M 218M 672k 550M 76.0M ~] -net/total- recv send 0 0 60B 234B 60B 194B ~] ---procs--- run blk new 0 0 0.8 0 0 1.0
dstat还有一些插件可以使用,可以使用man dstat
进行查看使用 常用的有: –disk-util 显示某一时间磁盘的忙碌状况 –freespace 显示当前磁盘空间使用率 –proc-count 显示正在运行的程序数量 –top-bio 显示块I/O最大的进程 –top-cpu 显示CPU占用最大的进程 –top-io 显示正常I/O最大的进程 –top-mem 显示占用最多内存的进程
iotop 安装iotop,yum install -y iotop
,
1 2 3 4 5 6 Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 18925 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.03 % [kwo~/0:2] 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % syst~ze 22 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
字段解释:Total DISK READ :从磁盘中读取的总速率Total DISK WRITE :往磁盘里写入的总速率Actual DISK READ :从磁盘中读取的实际速率Actual DISK WRITE :往磁盘里写入的实际速率TID :线程ID,按p可转换成进程IDPRIO :优先级USER :线程所有者DISK READ :从磁盘中读取的速率DISK WRITE :往磁盘里写入的速率SWAPIN :swap交换百分比IO >:IO等待所占用的百分比COMMAND :具体的进程命令
选项 : -o :只显示使用IO的进程 -b :非交互模式,相当于记录IO日志 -n :设定循环次数 -d :设定循环间隔 -p :查看指定PID进程 -u :查看指定user -a :显示累计的IO,而不是带宽
交互按键 :左右方向键 :以选中行作为排序行o :只显示使用IO的进程a :显示累计的IO,而不是带宽p :显示进程,从TID(线程)转换显示为PID(进程)
pidstat 安装sysstat,yum install -y pidstat
,用于监控和报告进程级别的 CPU 使用率、内存使用率、I/O 和上下文切换等信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ~] Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 2023年08月02日 _x86_64_ (1 CPU) 17时34分06秒 UID PID %usr %system %guest %CPU CPU Command 17时34分06秒 0 1 0.00 0.00 0.00 0.00 0 systemd
top htop 安装htop
mpstat 安装sysstat
netstat ps strace 安装strace
uptime lsof perf