1. 前言
在使用Linux系统时,监控命令是非常重要的工具,可以帮助我们实时监测和诊断系统的状态和性能。本文将介绍一些在Linux下常用的监控命令及其实用技巧,帮助读者更好地了解和利用这些命令。
2. top命令
top命令是Linux下常用的进程查看和系统监控工具,它可以实时显示系统的运行状态和进程信息。使用top命令可以方便地查看CPU的使用率、内存的使用情况、进程列表等。
2.1 查看系统负载
在top命令的顶部,可以看到系统的负载情况。负载指的是系统中正在等待运行的进程数量,一般是一个浮点数,表示过去1分钟、5分钟、15分钟内平均同时运行的进程数量。
top - 08:30:00 up 20 days, 4:15, 2 users, load average: 0.86, 0.45, 0.38
上面的输出中,最后的load average就是系统的负载情况,其中0.86表示过去1分钟内平均同时运行的进程数量。
2.2 查看CPU使用率
在top命令的CPU行,可以看到每个CPU核心的使用率。使用率越高,表示CPU负载越大。
%Cpu(s): 4.4 us, 1.2 sy, 0.0 ni, 94.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
上面的输出中,us表示用户空间的CPU使用率,sy表示内核空间的CPU使用率,id表示CPU空闲率。
2.3 查看内存使用情况
在top命令的内存行,可以看到系统的内存使用情况。
KiB Mem : 2004580 total, 938576 free, 640632 used, 413372 buff/cache
上面的输出中,total表示总内存大小,free表示可用内存大小,used表示已用内存大小,buff/cache表示被缓存的内存大小。
3. vmstat命令
vmstat命令是用于显示Linux系统的虚拟内存、进程、交换区等信息的工具。它可以实时显示各种性能指标,如CPU的使用率、内存的使用情况、虚拟内存的使用情况等。
3.1 查看CPU使用率
使用vmstat命令可以直接查看系统的CPU使用率。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 938576 413372 3071460 0 0 135 61 61 61 4 1 94 0 0
上面的输出中,us表示用户空间的CPU使用率,sy表示内核空间的CPU使用率,id表示CPU空闲率。
3.2 查看内存使用情况
使用vmstat命令可以查看系统的内存使用情况。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 938576 413372 3071460 0 0 135 61 61 61 4 1 94 0 0
上面的输出中,free表示可用内存大小,buff表示被缓存的内存大小。
4. iostat命令
iostat命令是Linux下用于显示系统的磁盘和I/O负载情况的工具。它可以实时显示磁盘的读写速度、I/O请求队列长度等信息。
4.1 查看磁盘读写速度
使用iostat命令可以查看系统的磁盘读写速度。
Linux 5.4.0-42-generic (hostname) 08/23/2021 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
4.08 0.00 1.03 0.16 0.00 94.73
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.78 0.43 30.36 150659 10563842
上面的输出中,kB_read/s表示每秒的磁盘读取速度,kB_wrtn/s表示每秒的磁盘写入速度。
4.2 查看I/O请求队列长度
使用iostat命令可以查看系统的I/O请求队列长度。
Linux 5.4.0-42-generic (hostname) 08/23/2021 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
4.08 0.00 1.03 0.16 0.00 94.73
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.78 0.43 30.36 150659 10563842
sdb 4.03 2.32 42.08 811906 14722902
上面的输出中,tps表示每秒的I/O请求队列长度。
5. sar命令
sar命令是Linux下用于收集和报告系统活动信息的工具。它可以记录CPU、内存、网络、磁盘等方面的性能指标并生成报告。
5.1 收集CPU使用率信息
使用sar命令可以在不同的时间间隔下记录系统的CPU使用率信息。
# sar -u 1 10
上面的命令表示每秒钟记录一次CPU使用率信息,总共记录10次。
5.2 收集内存使用情况信息
使用sar命令可以在不同的时间间隔下记录系统的内存使用情况信息。