作用:
实时显示linux下各个进程的资源占用情况
参数:
-d :后面可以接秒数,就是整个程序画面更新的秒数。预设是 5 秒;
-p :指定某些个 PID 来进行观察监测而已。
-b :以批次的方式执行 top ,通常会搭配数据流重定向到指定输出。
-n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。
在 top 执行过程当中可以使用的按键指令:
? :显示在 top 当中可以输入的按键指令;
P :以 CPU 的使用资源排序显示;
M :以 Memory 的使用资源排序显示;
N :以 PID 来排序
T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序。
k :给予某个 PID 一个讯号 (signal)
r :给予某个 PID 重新制订一个 nice 值。
m 显示内存信息
c 显示完整的命令
1 显示所有的cpu信息
概要显示信息:
第一行:显示系统已启动的时间、目前上线人数、系统整体的负载(load)。 负载三个数据分别代表 1, 5, 10 分钟的平均负载。
第二行:显示的是目前的观察程序数量,zombie 表示僵尸进程
第三行:显示的是 CPU 的整体负载。
第四行与第五行:表示目前的物理内存与虚拟内存 (Mem/Swap) 的使用情况。
第六行:这个是当在 top 程序当中输入指令时,显示状态的地方。
各个列含义
PID :每个 process 的 ID
USER:该 process 所属的使用者;
PR :Priority 的简写,程序的优先执行顺序,越小越早被执行;
NI :Nice 的简写,与 Priority 有关,也是越小越早被执行;
%CPU:CPU 的使用率;
%MEM:内存的使用率;
TIME+:CPU 使用时间的累加;
VIRT:virtual memory usage
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR:shared memory
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
DATA
1、数据占用的内存。如果top没有显示,按f键可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。
S 进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程COMMAND: 相关的命令