面试常问:linux top 命令详解

一、top 命令的作用

   top 命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top 显示系统的是当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top 命令提供了实时的对系统处理器的状态监视。它将显示系统中 CPU 最 “敏感” 的任务列表。该命令可以按 CPU 使用、内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

二、top 命令选项与参数详解

2.1 top 命令选项详解

选项 说明
-d 指定 top 命令显示的页面自动更新一次的时间间隔,默认是 5 秒
-b 以批次的方式执行 top 命令
-n 与 -b 配合使用,表示需要进行几次 top命令,并将结果输出
-p 指定进程号 pid 来进行观察监测
-s 使 top命令在安全模式中运行,避免了交互命令所带来的潜在危险
-i 使 top命令不显示任何闲置或者僵死的进程
-H 使 top命令显示单个线程。 若没有该选项,则显示每个进程中所有线程的总和
-c top命令显示整个命令行,而不只是命令名
-n 指定 top命令在结束之前应产生的最大迭代次数,即刷新几次 top命令执行结果

2.2 top 命令指令详解

  在 top 命令的显示页面还可输入以下指令执行相应的功能。

命令 说明
? 或 h 显示在 top当中可以输入的命令
P 以 CPU 的使用资源进行降序排序显示
M 以内存 MEM 的使用资源进行降序排序显示
N 以 PID 进行降序显示
T 以进程使用的 CPU 时间累积 TIME+ 进行降序排序显示
k 给某 PID 一个信号,可用于杀死进程
r 给某 PID 重新定制一个 nice 值,即优先值
n 使 top命令的显示页面显示 n 条进程的状况
q 退出 top
W 在当前目录下保存 top 的执行结果

三、top命令内容详解

3.1 统计信息

  第一行:top - 10:23:36 up 2 days, 16:27, 2 users, load average: 0.00, 0.00, 0.00

面试常问:linux top 命令详解_第1张图片
  第二行:Tasks: 231 total, 1 running, 166 sleeping, 0 stopped, 0 zombie

面试常问:linux top 命令详解_第2张图片
  第三行:%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

面试常问:linux top 命令详解_第3张图片
  第四行:KiB Mem : 3049700 total, 318948 free, 1162584 used, 1568168 buff/cache

  第五行:KiB Swap: 998396 total, 998128 free, 268 used. 1604964 avail Mem

面试常问:linux top 命令详解_第4张图片

3.2 进程信息

列名 含义
PID 进程 ID
PPID 父进程 ID
RUSER Real user name
UID 进程所有者的用户 ID
USER 进程所有者的用户名
GROUP 进程所有者的组名
TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
PR 优先级
NI nice 值。负值表示高优先级,正值表示低优先级
P 最后使用的 CPU,仅在多 CPU 环境下有意义
%CPU top 命令上次更新到现在的 CPU 时间占用百分比
TIME 进程使用的 CPU 时间总计,单位秒
TIME+ 进程使用的 CPU 时间总计,单位 1/100 秒
%MEM 进程使用的物理内存百分比
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP 进程使用的虚拟内存中,被换出的大小,单位kb
RES 进程使用的、未被换出的物理内存大小,单位 kb。RES=CODE+DATA
CODE 可执行代码占用的物理内存大小,单位kb
DATA 可执行代码以外的部分 (数据段+栈) 占用的物理内存大小,单位 kb
SHR 共享内存大小,单位 kb
nFLT 页面错误次数
nDRT 最后一次写入到现在,被修改过的页面数
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
COMMAND 命令名/命令行
WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
Flags 任务标志

  其他具体的进程列信息可查看下图:

面试常问:linux top 命令详解_第5张图片

四、其他技巧

  默认进入 top 时,各进程是按照CPU的占用量来排序的

  1、在 top 基本视图中,按键盘数字 “1” 可以监控每个逻辑CPU的状况。

面试常问:linux top 命令详解_第6张图片
  2、在 top 基本视图中,

  • 按键盘 “x” 打开/关闭排序列的加亮效果。
  • 按键盘 “y” 来打开或者关闭运行态进程的加亮效果。
  • 按键盘 “b” 打开关闭加亮效果。

  综合效果如下所示:

面试常问:linux top 命令详解_第7张图片
  3、在 top 基本视图中,默认是按照 “%CPU” 进行排序的,可通过按 “shift + >” 或者 ”shift + < ” 来左右改变排序列。

  4、在 top 基本视图中,敲击 “f” 进入另一个视图,在这里可以编辑 top 基本视图中的显示字段,用上下键选择选项,按下空格键可以决定是否在基本视图中显示这个选项。

面试常问:linux top 命令详解_第8张图片

五、示例

  • top -b -n 2 > /tmp/top.txt:将执行 2 次 top 命令,然后将结果输出到 /tmp/top.txt
  • top -p 12345 -p 6789:每隔 5 秒显示 PID 是 12345 和 PID 是 6789 的两个进程的资源占用情况。
  • top -d 2 -c -p 123456:每隔 2 秒显示 PID 是 12345 的进程的资源使用情况,并显式该进程启动的命令行参数。

六、参考资料

  • https://blog.csdn.net/yjclsx/article/details/81508455
  • https://blog.csdn.net/quiet_girl/article/details/50668126
  • http://www.jyguagua.com/?p=3364

你可能感兴趣的:(linux)