top 命令是 Linux 系统中最常用的 性能监控与分析工具 之一,能够实时显示系统整体运行状态以及各个进程对 CPU、内存、负载 等资源的占用情况,是运维和排查性能问题时必备的命令。
在终端中直接执行:
即可进入实时监控界面。
一、top 命令整体信息说明(系统状态区)
top 界面最上方显示的是系统整体运行状态,包括时间、运行时长、登录用户数和系统负载。
示例:
1. 当前系统时间
表示执行 top 命令时的系统当前时间。
2. 系统运行时间(uptime)
表示系统已运行 15 分钟。
也可以通过以下命令单独查看:
3. 当前登录用户数
表示当前有 1 个用户登录系统。
4. 系统平均负载(load average)
三个数值分别表示:
-
最近 1 分钟
-
最近 5 分钟
-
最近 15 分钟
的系统平均负载。
👉 判断标准:
-
若负载值 长期超过 CPU 核心数,说明系统处于高负载或满负载状态
-
单核 CPU:负载 > 1 即偏高
-
四核 CPU:负载 > 4 即偏高
二、进程状态统计信息
含义说明:
-
total:进程总数
-
running:正在运行的进程数
-
sleeping:休眠状态的进程数
-
stopped:停止的进程数
-
zombie:僵尸进程数(需重点关注)
三、CPU 使用情况说明
各字段含义:
-
%us:用户空间进程消耗的 CPU 百分比
-
%sy:内核空间进程消耗的 CPU 百分比
-
%ni:改变过优先级(nice)的进程占用 CPU 百分比
-
%id:CPU 空闲百分比
-
%wa:CPU 等待 I/O 操作所消耗的时间百分比
👉 排查经验:
-
%us高:应用程序消耗 CPU -
%sy高:系统调用或内核压力大 -
%wa高:磁盘 I/O 性能瓶颈
四、内存使用情况(Mem)
字段说明:
-
total:物理内存总量
-
free:当前空闲内存
-
used:已使用内存
-
buff/cache:缓冲区和缓存占用的内存
buffers 与 cache 说明
-
buffers:即将写入磁盘的数据缓存
-
cache:从磁盘读取的数据缓存
这部分内存由 操作系统自动管理,用于提高 I/O 性能,当应用需要内存时,系统会自动回收。
👉 重要结论:
Linux 内存使用率高并不一定是问题,只要没有大量使用 swap,就无需担心。
五、Swap 交换分区说明
字段含义:
-
total:交换区总量
-
free:空闲交换区
-
used:已使用交换区
-
avail Mem:可供进程使用的内存(包含可回收缓存)
👉 运维经验:
-
swap 长期大量使用 → 物理内存不足
-
swap 基本为 0 → 内存充足
六、进程列表字段详解(重点)
| 字段 | 含义 |
|---|---|
| PID | 进程 ID |
| USER | 进程所属用户 |
| PR | 调度优先级(rt 表示实时进程) |
| NI | nice 值,越小优先级越高 |
| VIRT | 进程使用的虚拟内存 |
| RES | 驻留物理内存(未被 swap) |
| SHR | 共享内存大小 |
| S | 进程状态(R/S/D/T/Z) |
| %CPU | CPU 使用率 |
| %MEM | 内存使用率 |
| TIME+ | 累计 CPU 使用时间 |
| COMMAND | 启动进程的命令 |
常见进程状态说明
-
R:运行中
-
S:睡眠中
-
D:不可中断睡眠(多为 I/O)
-
T:停止或被调试
-
Z:僵尸进程(需清理)
七、总结
top 命令是 Linux 系统中最基础、最重要的性能分析工具,通过它可以快速判断:
-
CPU 是否存在瓶颈
-
内存是否不足
-
是否存在异常进程
-
系统负载是否过高
熟练掌握 top,可以解决 80% 的 Linux 性能问题初步排查。
原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/18582.html