1. 命令参数
d : 监控内容刷新的时间间隔。
n : 限定监控内容刷新的次数,完成后将会退出 top 视图。
p : 只监控指定PID的进程。
-b : 以非交互非全屏模式运行,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如 top -b -n 3 > /home/top.tmp
H : 显示进程下的线程,一般结合p参数使用,查看某个进程下的线程,例如: top -Hp 1。
c : 切换显示模式,只显示名称,或者显示完整的路径与名称。
i : 不显示任何闲置或无用的进程(只显示正在执行的进程)。
o : 指定要排序的字段,比如top -o %MEM 按照%MEM从大到小,top -o -%MEM 按照%MEM从小到大
top -i -c -o %MEM -d 2 -n 3 -b >/home/3.tmp
top -Hp 84448 -i:显示进程84448中正在使用的线程
2. 显示参数
top命令十分强大,分为了两个部分,上半部分表示系统的整体性能,下半部分表示每个线程具体信息。
上半部分分为五行,分别是:
第一行:top
top - 06:43:33 up 30 days, 3:54, 2 users, load average: 0.16, 0.24, 0.20
内容 | 含义 |
---|---|
06:43:33 | 当前时间 |
up 30 days, 3:54, | 系统运行时间 |
2 users | 2个用户在线 |
load average: 0.16, 0.24, 0.20 | 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值 |
第二行:Tasks(线程)
Tasks: 140 total, 1 running, 90 sleeping, 0 stopped, 0 zombie
内容 | 含义 |
---|---|
140 total | 总共140个线程 |
1 running | 1个线程在运行 |
90 sleeping | 90个线程在睡眠 |
0 stopped | 0个停止线程 |
0 zombie | 0个僵尸线程 |
第三行:%Cpu(s) (cpu使用率)
%Cpu(s): 1.5 us, 3.1 sy, 0.0 ni, 95.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
内容 | 含义 |
---|---|
1.5 us | 用户空间占用CPU时间的百分比 |
3.1 sy | 内核空间占用CPU时间的百分比 |
0.0 ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
95.4 id | 空闲CPU占用率,等待进程运行 |
0.0 wa | CPU 在等待 IO 操作完成占用CPU时间的百分比 |
0.0 hi | CPU硬中断时间百分比(硬盘、网卡等硬件设备发送给CPU的中断消息) |
0.0 si | CPU软中断时间百分比(程序发出的中断) |
0.0 st | 被强制等待虚拟 CPU 的时间 |
第四行:KiB Mem(内存)
KiB Mem : 16017016 total, 826232 free, 10652132 used, 4538652 buff/cache
内容 | 含义 |
---|---|
16017016 total | 物理内存总量 |
826232 free | 空闲内存总量 |
10652132 used | 使用的物理内存总量 |
4538652 buff/cache | 用作内核缓存的内存量 |
第五行:KiB Swap:交换空间(虚拟内存,当内存不足的时候,把一部分硬盘空间虚拟城内存使用)
KiB Swap: 0 total, 0 free, 0 used. 4248876 avail Mem
内容 | 含义 |
---|---|
0 total | 交换区总量 |
0 free | 空闲交换区总量 |
0 used | 使用的交换区总量 |
4248876 avail Mem | 可用于启动一个新应用的内存(物理内存) |
下半部分
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
内容 | 含义 |
---|---|
PID | 进程id |
USER | 进程所有者 |
PR | 进程的优先级,越小优先级越高 |
NI | nice值,负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存,单位是kb |
RES | 进程使用的物理内存,单位kb |
SHR | 进程使用的共享内存,单位kb |
S | 进程状态(S表示休眠,R表示正在运行, Z表示僵死状态,N表示该进程优先值为负数,I表示空闲状态) |
%CPU | 进程占用的CPU使用率 |
%MEM | 进程使用的物理内存和总内存的百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
COMMAND | 命令行 |
改变下半部分的排序规则
top +P
下半部分排序默认按CPU占用率降序,也即top +P
top +M
下半部分排序默认按内存占用率降序
top +T
下半部分排序默认按启动时间占用率降序
top+1
按数字1可以监控每个逻辑CPU的状况: