top
- 一、 命令
- 二、 如何查看top输出的结果
一、 命令
top命令是Linux中的一个实时进程监控工具,类似于windows中的任务管理器。
基本命令
top
二、 如何查看top输出的结果
我们需要分析top输出的结果
top输出的结果分为上下两部分,先看上半部分
第一行是系统运行时间和系统负载
top - 15:20:42 up 151 days, 37 min, 0 users, load average: 18.81, 14.71, 14.09
字段 | 含义 |
---|---|
15:17:56 | 当前系统时间 |
up 151 days, 35 min | 系统已连续运行 151 天 35 分钟(没重启过) |
0 users | 当前没有用户登录(可能是 headless server) |
load average | 系统过去 1、5、15 分钟的平均负载: |
这里解释一下load average
的含义:load average是负载平均值表示等待cpu的进程数量,上面图中有三个数字20.25、14.37、13.97分别表示在过去1分钟、5分钟、15分钟等待cpu的进程数。
第二行是任务或者进程的概况
Tasks: 19 total, 1 running, 18 sleeping, 0 stopped, 0 zombie
字段 | 含义 |
---|---|
19 total | 总共只有 19 个进程(非常少) |
1 running | 有 1 个进程正在运行中(活跃) |
18 sleeping | 其余都在休眠状态 |
0 zombie | 没有僵尸进程 |
第三行是cpu的使用情况
%Cpu(s): 6.1 us, 2.5 sy, 0.0 ni, 91.2 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
项目 | 含义 |
---|---|
us | 用户空间占用 6.1%(应用进程) |
sy | 系统空间占用 2.5%(内核、驱动) |
id | 空闲 CPU:91.2% |
wa | I/O 等待 0.0%,无磁盘瓶颈 |
ni | nice 优先级进程占用:0.0% |
hi/si | 硬/软中断使用率(几乎无) |
st | 被虚拟机偷走 CPU(无虚拟化) |
第四行是内存使用情况
MiB Mem : 1031704.+total, 39402.3 free, 54096.6 used, 938205.2 buff/cache
字段 | 含义 |
---|---|
1031704.0 | 系统总内存 ≈ 1 TB(大内存服务器) |
39402.3 | 空闲内存约 39 GB(直接未用) |
54096.6 | 正在使用中的内存(运行程序) |
938205.2 | 用作缓存/缓冲(Linux 会尽可能利用内存来加速) |
第五行是Swap分区(交换内存)
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 963120.9 avail Mem
top命令的下半部分
字段 | 含义 |
---|---|
PID | 进程 ID(唯一标识) |
USER | 进程所属用户(root) |
PR | 优先级(Priority),越小越优先 |
NI | nice 值,影响调度优先级(越负越高优先) |
VIRT | 虚拟内存使用量(包含共享库、未实际用的部分) |
RES | 实际占用物理内存(resident memory) |
SHR | 共享内存大小(共享库部分) |
S | 状态: |
- S | sleep(休眠) |
- R | running(运行中) |
- Z | zombie(僵尸)等 |
%CPU | 占用 CPU 百分比(总核数为 100%) |
%MEM | 占用物理内存百分比 |
TIME+ | 进程使用 CPU 的总时间 |
COMMAND | 进程启动命令或可执行程序名 |