一、 top 页面说明

image.png

第一行

任务队列信息

top - 09:31:32 up 12 days,  5:14,  1 user,  load average: 0.40, 0.48, 0.52
标签 说明
top - 09:31:32 系统时间
up 12 days, 5:14 运行时间
1 user 当前登录用户
load average: 0.40, 0.48, 0.52 负载均衡

average 后面的三个数分别是1分钟、5分钟、15分钟的负载情况

load average 数据是每隔 5 秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了
第二行

任务(进程)

Tasks: 401 total,   1 running, 399 sleeping,   0 stopped,   1 zombie
标签 说明
Tasks: 401 total 总进程
1 running 运行进程
399 sleeping 休眠进程
0 stopped 停止进程
1 zombie 僵尸进程
第三行

CPU 状态

%Cpu(s):  0.6 us,  0.7 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
标签 说明
0.6 us us (user space)
用户空间占用 CPU 的百分比
0.7 sy sy (sysctl)
内核空间占用 CPU 的百分比
0.0 ni 改变过优先级的进程占用 CPU 的百分比
98.7 id id (idolt)
空闲 CPU 百分比
0.0 wa wa (wait)
IO 等待占用 CPU 的百分比
0.0 hi hi (Hardware IRQ)
硬中断占用 CPU 的百分比
0.0 si si (Software Interrupts)
软中断占用 CPU 的百分比
0.0 st 表明你的虚拟机花了百分之多少等待得到真正的 cpu 资源
正常情况下在云平台下 st 最好为 0,这表明你的 vm 得到了所有必要的 cpu 资源。如果这个值为 50,表明你 vm 需要 cpu 时有一半时间在等待
第四行

内存状态

KiB Mem : 32894848 total, 13812392 free, 14770660 used,  4311796 buff/cache
标签 说明
32894848 total 总内存
13812392 free 可用内存
14770660 used 已用内存
4311796 buff/cache 缓存占用内存
第五行

swap交换分区信息

KiB Swap:  7812092 total,  7812092 free,        0 used. 17608500 avail Mem
标签 说明
7812092 total 交换区总量
7812092 free 空闲交换区总量
0 used 使用的交换区总量
17608500 avail Mem 可用于进程下一次分配的物理内存数量,这个大小一般比 free 大一点,因为除了 free 的空间外,系统还能立即释放出一些空间来
第七行

各进程(任务)的状态监控

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
标签 说明
PID 进程 id
USER 进程所有者
PR 进程优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量
RES 进程使用的、未被换出的物理内存大小
SHR 共享内存大小
S 进程状态
D: 不可中断的睡眠状态
R: 运行
S:睡眠
T: 跟踪/停止
Z: 僵尸进程
%CPU CPU 时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的 CPU 时间总计,单位 1/100 秒
COMMAND 进程名称(命令名/命令行)

二、 top 命令

1. top [-] [d] [p] [q] [c] [C] [S] [s] [n]

参数 说明
d 指定每两次屏幕信息刷新之间的时间间隔
当然用户可以使用 s 交互命令来改变之
p 通过指定监控进程 ID 来仅仅监控某个进程的状态
q 该选项将使 top 没有任何延迟的进行刷新
如果调用程序有超级用户权限,那么 top 将以尽可能高的优先级运行
S 指定累计模式
s 使 top 命令在安全模式中运行。这将去除交互命令所带来的潜在危险
i 使 top 不显示任何闲置或者僵死进程。
c 显示整个命令行而不只是显示命令名

2. 进入 top

(1)基本查看
快捷键 作用
1 显示 所有 CPU 核心 使用率
t 显示/隐藏 进程状态信息(任务、CPU 统计)
m 显示/隐藏 内存使用信息
l 显示/隐藏 系统负载信息
c 切换 完整命令行进程名称
H 线程模式 显示进程(默认是进程模式)
(2)排序进程
快捷键 作用
P CPU 使用率 排序(默认)
M 内存使用率 排序
T 运行时间(TIME+) 排序
N 进程 ID(PID) 排序
R 逆序排列(从大到小或小到大)
(3)管理进程
快捷键 作用
k 杀死进程(输入 PID,默认 SIGTERM
r 修改进程优先级(renice)
i 隐藏闲置/僵尸进程(只显示活跃进程)
f 自定义列(选择显示哪些信息)
(4)搜索 & 过滤
快捷键 作用
/ 查找进程(输入进程名或 PID)
n 跳转到下一个匹配项
V 仅显示 指定用户的进程
u 用户名 过滤进程
o 添加 过滤条件(例如 COMMAND=nginx

示例

  • /,输入 python,可以找到所有运行的 python 进程。
  • u,输入 root,可以只显示 root 用户的进程。
(5)调整 top 刷新间隔
快捷键 作用
d 设置刷新间隔(默认 3 秒)
s d,修改 top 刷新间隔

示例

  • d,输入 1每 1 秒刷新一次(适合实时监控)。
(6)退出 top
快捷键 作用
q 退出 top
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐