背景
接上次你的java服务挂了吗,这次针对top命令做一次分析。Linux top命令用于实时显示 process 的动态,在Linux操作命令中有着举足轻重的地位,使用权限所有使用者,接下来就让我们一起深入的了解top,一睹庐山真面目吧!
语法
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数说明
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
第一行 | 第二行 | 第三行 | 第四行 | 第五行 |
---|---|---|---|---|
系统时间 19:13:45 | 总进程 242 | 用户空间占用CPU的百分比 0.4us【user】 | 总内存 65806656 | 缓冲总内存 33554428 |
运行时间 134days,32min | 运行进程 1 running | 内核空间占用CPU的百分比 0.4sy【system】 | 空闲内存 4023396 | 空闲缓冲内存 33210876 |
当前登录用户 4users | 休眠进程 238 | 用户进程空间内优先级变过的进程占用CPU的百分比 0.0ni【nice】 | 已使用内存 43544124 | 已使用缓冲内存 343552 |
负载均衡 0.17, 0.51, 0.80 | 停止进程 1 | 空闲CPU百分比 98.9id【idle】 | 缓冲的内存量 18239136 | 缓冲的可用总量 21662568 |
僵尸进程: 0 | IO等待占用CPU的百分比 0.0wa【wait】 | |||
硬中断占用CPU的百分比 0.0hi【Hardware interrupts】 | ||||
软中断占用CPU的百分比 0.4si【Software Interrupts】 | ||||
等待CPU为它服务的时间 0.0st【stolen】 |
PID | USER | PR | NI | VIRT | RES | SHR | S | CPU | MEM | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|---|
进程id | 进程所有者 | 进程优先级 | nice值。越小优先级越高,最小-20,最大20(用户设置最大19) | 进程使用的虚拟内存总量,单位kb。 | 进程使用的、未被换出的物理内存大小,单位kb。 | 共享内存大小,单位kb | 进程状态。D不可中断的睡眠状态 R运行 S睡眠 T跟踪/停止 Z僵尸进程 | 上次更新到现在的CPU时间占用百分比 | 进程使用的物理内存百分比 | 进程使用的CPU时间总计,单位1/100秒 | 进程名称(命令名/命令行) |
快键键
1 可监控每个逻辑CPU的状况
b 打开/关闭加亮效果
shift + > 或 shift + < 按照%MEM来排序,再按一次按时间排
h 显示帮助画面,给出一些简短的命令总结说明
k 终止一个进程。按下k键–>再输入要杀死的进程的pid–>按enter键–>(选择信号类型,以数字标示,默认15为杀死)本步可省略按enter键(常用为-9)
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序,按q键退出top查看页面
r 重新安排一个进程的优先级别
S 切换到累计模式
s 修改刷新时间间隔。按下s键,然后按下数字,即可修改刷新时间间隔为你输入的数字,单位为秒。
f或者F 从当前显示中添加或者删除项目
o或者O 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
W 将当前设置写入~/.toprc文件中