top命令详解

Posted by admin on 2015, January 30

作用:

实时显示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: 相关的命令