概述
在Linux中,有许多命令和工具可用于查看系统的资源使用情况。以下是一些常用的方式:
-
top:
top
命令是最常见的实时系统监视工具之一。它显示了当前运行的进程列表,以及每个进程的CPU、内存使用情况、nice
值等信息。top
命令还会不断刷新数据,展示最新的系统状态。 -
htop:
htop
是top
的一个增强版,提供了更好的可视化界面和更多功能,如颜色编码、水平滚动、搜索等功能。安装htop
后,在终端输入htop
即可使用。 -
ps:
ps
命令用于列出当前运行的进程。通过添加适当的选项,可以获取有关进程的各种信息,如CPU使用率、内存使用情况等。例如,ps -aux
会显示所有进程的详细信息。 -
free:
free
命令显示系统的内存使用情况,包括物理内存、交换内存和缓存等。 -
vmstat:
vmstat
报告虚拟内存统计信息,包括系统活动、进程状态、内存使用情况等。 -
iostat:
iostat
显示设备级别的I/O统计信息,如磁盘读写速率、CPU利用率等。 -
df:
df
命令显示文件系统的磁盘空间使用情况,包括已使用的空间、剩余的空间和总容量。 -
du:
du
命令显示目录或文件所占的磁盘空间大小。 -
netstat:
netstat
显示网络连接、路由表、接口统计等信息。 -
ifconfig:
ifconfig
显示网络接口的配置信息,如IP地址、MAC地址、收发包数量等。 -
lsof:
lsof
列出系统中打开的文件,包括文件所属的进程、文件类型等信息。 -
dmesg:
dmesg
显示内核消息,包括硬件检测结果、错误信息等。 -
sysstat:这是一个包含多种工具的软件包,如
sar
(系统活动报告)、iostat
、mpstat
等,用于深入分析系统性能。 -
System Monitor GUI:如果你使用的是图形化桌面环境,可以使用内置的系统监视器应用,如Gnome System Monitor、KSysGuard等。
-
/proc:
/proc
是一个虚拟文件系统,包含了大量关于系统和进程的信息。通过阅读/proc
下的文件,可以获得各种系统信息。 -
uname: 查看系统与内核相关信息
-
uptime:查看系统启动时间与任务负载
一、实时系统监视 top
top
命令是Linux系统中常用的实时系统监视工具,它能够显示系统中各个进程的资源使用情况,包括CPU使用率、内存使用情况、进程状态等。要在终端中启动top
,只需输入top
命令并按回车键。top
会立即显示当前系统状态,并持续刷新数据。
2.1 显示内容
这张图片显示了一个典型的top
命令输出,它提供了系统资源使用情况的实时概览。以下是各部分的解释:
-
标题行:顶部一行显示了当前时间、系统运行时间、登录用户数和平均负载。在这个例子中,系统已经运行了5天53分钟,没有用户登录,平均负载分别为0.52、0.58和0.59。
-
系统资源使用情况:接下来的一行显示了CPU和内存使用情况。在这个例子中,CPU使用率为5.3%(用户态+系统态),内存使用率为11796 MiB,交换空间使用了2399 MiB。
-
进程状态:第三行显示了进程总数、运行中的进程数、停止的进程数和僵尸进程数。在这个例子中,共有10个进程,1个正在运行,9个处于睡眠状态,没有停止或僵尸进程。
-
CPU使用率:第四行显示了CPU使用率的细分,包括用户态、系统态、空闲态、等待I/O、硬件中断、软件中断和被偷取的时间。在这个例子中,用户态和系统态分别使用了5.3%,空闲态使用了89.3%,其余的百分比由其他状态占据。
-
内存使用情况:第五行显示了内存总量、空闲内存、缓冲区内存和可用内存。在这个例子中,总内存为16016.5 MiB,其中有3995.9 MiB空闲,11796.6 MiB未被使用,224.0 MiB作为缓冲区使用,还有4089.3 MiB可供使用。
-
交换空间使用情况:第六行显示了交换空间总量、空闲空间和使用空间。在这个例子中,总交换空间为29440.1 MiB,其中有27070.5 MiB空闲,2369.6 MiB被使用。
-
进程列表:剩下的部分是进程列表,每一行代表一个进程。列表的列包括:
PID
:进程ID。USER
:进程的所有者。PR
:优先级。NI
:nice
值。VIRT
:虚拟内存使用情况。RES
:常驻集大小,即非交换内存使用情况。SHR
:共享内存大小。S
:进程状态(R=运行、S=睡眠等)。%CPU
:CPU使用率。%MEM
:内存使用率。TIME+
:累计CPU时间。COMMAND
:进程名称。
在这个例子中,可以看到几个进程,包括init
、bash
和top
本身。top
进程的CPU使用率为0.0%,内存使用率为0.0%,累计CPU时间为0秒。
2.2 交互式操作
top
命令具有丰富的交互式功能,可以在运行过程中进行操作。按