Linux下监控命令实用技巧

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命令可以在不同的时间间隔下记录系统的内存使用情况信息。

操作系统标签