Linux系统使用情况实时查看

1. 简介

Linux是一种自由和开源的操作系统内核,被广泛应用于服务器和嵌入式设备领域。由于Linux的开放性和灵活性,很多企业和个人选择使用Linux作为他们的操作系统。然而,在使用Linux系统时,了解系统的使用情况是非常重要的。这篇文章将介绍如何实时查看Linux系统的使用情况。

2. 使用top命令查看系统整体情况

top命令是一个非常常用的Linux命令,用于实时监控系统的整体情况。通过运行top命令,您可以看到系统的负载情况、CPU使用率、内存使用情况等信息。以下是运行top命令后的输出示例:

top - 09:34:13 up 1 day,  2:03,  2 users,  load average: 0.20, 0.18, 0.12

Tasks: 255 total, 1 running, 253 sleeping, 0 stopped, 1 zombie

%Cpu(s): 0.9 us, 0.7 sy, 0.0 ni, 98.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 4047704 total, 1923576 free, 907612 used, 1216516 buff/cache

KiB Swap: 4194300 total, 4194300 free, 0 used. 2796808 avail Mem

从上述输出可以看出,系统的负载情况(load average)分别是0.20、0.18和0.12,这表示系统的负载水平比较低。同时,可以看到CPU的使用率、内存的使用情况等详细信息。

2.1 重要参数解释

在top命令的输出中,有一些重要的参数需要解释。

load average: 用于表示系统的负载情况,一般以三个值表示,分别是1分钟、5分钟和15分钟的平均负载。

%Cpu(s): 用于表示CPU的使用率,其中us表示用户空间占用CPU的时间百分比,sy表示内核空间占用CPU的时间百分比,id表示CPU空闲时间百分比。

KiB Mem: 表示系统的内存情况,其中total表示总内存大小,free表示空闲内存大小,used表示已使用的内存大小,buff/cache表示被缓存的内存大小。

KiB Swap: 表示系统的交换分区情况,其中total表示总交换分区大小,free表示空闲交换分区大小,used表示已使用的交换分区大小,avail Mem表示可用内存大小。

3. 使用vmstat命令查看系统资源使用情况

除了使用top命令外,还可以使用vmstat命令来查看系统的资源使用情况。vmstat命令可以显示出系统的进程、内存、交换分区、I/O等信息,它可以显示出一些top命令无法显示的详细信息。

vmstat 1 5

上述命令将每秒钟输出一次信息,输出5次。以下是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 1923576 1216524 1415992 0 0 6 3 14 32 1 1 99 0 0

0 0 0 1923656 1216524 1416012 0 0 0 17 2122 2942 2 1 97 0 0

0 0 0 1923656 1216524 1416040 0 0 0 0 2221 3377 3 1 96 0 0

0 0 0 1923656 1216524 1416048 0 0 0 0 2228 3176 4 1 96 0 0

0 0 0 1923656 1216524 1416068 0 0 0 0 2257 3307 2 1 97 0 0

从上述输出可以看到,vmstat命令显示了更多细节信息,例如swap的使用情况、I/O操作等。

3.1 重要参数解释

在vmstat命令的输出中,也有一些重要参数需要解释。

r: 表示正在运行的进程数量。

b: 表示处于阻塞状态的进程数量。

swpd: 表示交换分区使用情况,如果大于0,表示系统正在使用交换分区。

free: 表示空闲内存大小。

buff: 表示被缓存的内存大小。

cache: 表示文件系统缓存的内存大小。

si: 表示每秒从磁盘读入交换分区的大小。

so: 表示每秒从交换分区写入到磁盘的大小。

bi: 表示每秒块设备接收的块数量。

bo: 表示每秒块设备发送的块数量。

in: 表示每秒的中断个数。

cs: 表示每秒上下文切换的次数。

us: 表示用户空间占用CPU的时间百分比。

sy: 表示内核空间占用CPU的时间百分比。

id: 表示CPU空闲时间百分比。

wa: 表示等待I/O操作完成的CPU时间百分比。

st: 表示虚拟化环境中被虚拟化机器抢占的CPU时间百分比。

4. 使用sar命令查看系统历史情况

sar命令是一个强大的系统监控命令,它可以通过查看系统历史情况来分析系统的性能。sar命令可以输出各种资源的使用情况,包括CPU、内存、磁盘、网络等。

sar -u 1 5

上述命令将每秒钟输出一次CPU使用情况,输出5次。以下是sar命令的输出示例:

Linux 5.4.0-52-generic (hostname)    11/17/21    _x86_64_    (4 CPU)

10:23:50 AM CPU %user %nice %system %iowait %steal %idle

10:23:51 AM all 2.65 0.00 0.32 0.00 0.00 97.03

10:23:52 AM all 2.58 0.00 0.58 0.00 0.00 96.85

10:23:53 AM all 1.97 0.00 0.47 0.00 0.00 97.56

10:23:54 AM all 2.54 0.00 0.30 0.00 0.00 97.17

10:23:55 AM all 2.81 0.00 0.47 0.00 0.00 96.72

Average: all 2.51 0.00 0.43 0.00 0.00 97.27

从上述输出中,我们可以得到CPU的使用率信息,分别以%user、%nice、%system、%iowait、%steal和%idle的形式呈现。

4.1 重要参数解释

在sar命令的输出中,有一些重要参数需要解释。

%user: 表示用户空间占用CPU的时间百分比。

%nice: 表示优先级较低的进程占用CPU的时间百分比。

%system: 表示内核空间占用CPU的时间百分比。

%iowait: 表示等待I/O操作完成的CPU时间百分比。

%steal: 表示虚拟化环境中被虚拟化机器抢占的CPU时间百分比。

%idle: 表示CPU空闲时间百分比。

5. 使用sar命令查看系统磁盘情况

除了查看CPU使用情况外,sar命令还可以查看系统的磁盘情况。使用sar命令查看系统磁盘情况可以帮助我们了解磁盘的使用情况和性能。

sar -d 1 5

上述命令将每秒钟输出一次磁盘使用情况,输出5次。以下是sar命令的输出示例:

Linux 5.4.0-52-generic (hostname)    11/17/21    _x86_64_    (4 CPU)

10:23:50 AM DEV tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd

10:23:51 AM dev8-0 41.78 0.00 705.82 0.00 0 704 0

10:23:51 AM dev253-0 80.71 0.00 1651.32 0.00 0 1650 0

10:23:51 AM dev253-1 79.65 0.00 1651.32 0.00 0 1650 0

10:23:51 AM dev253-2 79.47 0.00 1651.32 0.00 0 1650 0

10:23:51 AM dev253-3 79.47 0.00 1651.32 0.00 0 1650 0

Average: dev8-0 40.91 0.00 705.68 0.00 0 704 0

Average: dev253-0 80.31 0.00 1651.32 0.00 0 1650 0

Average: dev253-1 79.82 0.00 1651.32 0.00 0 1650 0

Average: dev253-2 79.43 0.00 1651.32 0.00 0 1650 0

Average: dev253-3 79.91 0.00 1651.32 0.00 0 1650 0

从上述输出可以看到,sar命令输出了每个设备的磁盘读写速度(kB_read/s和kB_wrtn/s)以及磁盘I/O的统计信息。

5.1 重要参数解释

在sar命令的输出中,有一些重要参数需要解释。

DEV: 表示设备名。

tps: 表示每秒钟的传输次数(传输操作的个数)。

kB_read/s: 表示每秒钟读取的数据量。

kB_wrtn/s: 表示每秒钟写入的数据量。

kB_dscd/s: 表示每秒钟丢弃的数据量(不包括回写的数据)。

kB_read: 表示读取的总数据量。

kB_wrtn: 表示写入的总数据量。

kB_dscd: 表示丢弃的总数据量。

6. 总结

本文介绍了如何实时查看Linux系统的使用情况。通过使用top、vmstat和sar等命令,可以了解系统的整体情况、资源的使用情况和磁盘的情况。这些工具可以帮助我们发现系统的性能问题,优化系统的使用。通过深入了解和掌握这些工具,我们可以更好地管理和维护Linux系统。

操作系统标签