top命令:相当于Windows下的资源管理器,能够动态实时的显示系统中进程的资源占用情况。
第一行:系统运行时间和平均负载
当前时间、系统已运行时间、当前登录用户的数量、最近5、10、15分钟内的平均负载
第二行:任务
任务的总数、运行中(running)的任务、休眠(sleeping)中的任务、停止(stopped)的任务、僵尸状态(zombie)的任务
第三行:cpu状态
总段 | 字段释义 |
---|---|
us | user:运行用户进程的CPU时间 |
sy | system:运行内核进程的CPU时间 |
ni | niced:运行已调整优先级的用户进程的CPU |
id | idle:空闲时间 |
wa | IO wait:用户等待IO完成的CPU时间 |
hi | 处理硬件中断的CPU时间 |
si | 处理软件中断的CPU时间 |
st | 这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的) |
第四行:内存
全部可用内存、空闲内存、已使用内存、缓冲内存
第五行:swap
全部、空闲、已使用和缓冲交换空间
第七行至N行:
字段 | 释义 |
---|---|
PID | 进程ID,进程的唯一标识符 |
USER | 进程所有的实际用户名 |
PR | 经常的调度优先级。这个字段的一些值是‘rt’。意味着这些进程运行在实时态 |
NI | 进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级 |
VIRT | virtual memory usage 虚拟内存,进程使用的虚拟内存。进程使用的虚拟内存总内存总 量,单位kb。VIRT=SWAP+RES |
RES | resident memory usage 常驻内存,驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
SHR | 共享内存大小,单位kb |
S | 这个是进程的状态。它有以下不同的值:D - 不可中断的睡眠态。R – 运行态S – 睡眠态T – 被跟踪或已停止Z – 僵尸态 |
%CPU | 自从上一次更新时到现在任务所使用的CPU时间百分比。%CPU显示的是进程占用一个核的百分比,而不是整个cpu(N核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心,所以有时候我们看该值得时候会超过100%,但不会超过总核数*100 |
%MEM | 进程使用的可用物理内存百分比 |
TIME+ | 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒 |
COMMAND | 运行进程所使用的命令。进程名称(命令名/命令行) |
参数
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p 通过指定监控进程ID来仅仅监控某个进程的状态。
q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S 指定累计模式。
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。
c 显示整个命令行而不只是显示命令名。
显示过程中使用交互
top命令显示过程中使用一些交互命令:
Ctrl L:擦除并且重写屏幕
h或者? :显示帮助画面
k :终止一个进程;默认使用15信号,可以使用信号9来强制结束该进程。但是在安全模式下此命令被屏蔽。
i :忽略闲置和僵死进程,开关式命令。
q :退出程序。
r :重新安排一个进程的优先级。默认值是10,输入一个正值使优先级降低;输入一个负值使优先级升高。
S :切换到累计模式。
s :改变两次刷新的延迟时间。单位为秒,如果有小数,切换为ms,输入0则系统不断的刷新,默认值是5.
f或者F :从当前显示中添加或者删除项目。
o或者O :改变显示项目的顺序。
t :切换显示进程和CPU状态信息。
m :切换显示内存信息。
I :切换显示平均负载和CPU状态信息。
M :根据驻留内存大小进行排序。
P :根据CPU使用百分比大小进行排序。
T :根据时间或者累计时间进行排序。
W :写top配置文件的方法。将当前设置写入~/toprc文件中。