0. 概述

在 Linux 下稍微定位过性能问题的同学应该对 Top 命令都是了解的,但是,不知道你对 Top 命令的了解有多少,本文就个人的理解进行一个总结。

1. 总览

第一步还是快速看一个最平凡的例子,那就是什么参数都不加执行执行 top 命令的时候的输出是什么:

图 1:平凡的 Top 命令

这里可以看到整体的结构为:

上面有 5 行的 summary,每行对应的为:

然后下面就是具体的进程信息,默认为 CPU Usage 排序。这里默认显示的字段分别为:

这些都是默认的输出,已经可以帮助我们很多了,但是,很多时候,我们需要的信息更加具体,所以需要看一些额外的信息。下面就列举一些常见的场景。

2. 查看特定的进程

因为下半部分的进程列表是动态的,我们很可能只想看某个具体的进程,那么可以这么看:

[[email protected]]# top -p 2140
图 2:查看具体的进程

3. 查看更多的字段

[[email protected]]# top -p 2140

使用 top 命令,然后按 ‘f’ 键,就进入了字段选择页面,按 ‘d’ 选择/取消对应的字段:

图 3:查看对应的字段

4. Zombie 进程是什么

5. 为什么有 Priority 和 Nice 两个优先级

这两个值都能影响系统对进程的调度优先级,数值越低,优先级越高,区别在于:

真实调度的时候的优先级 Real Priority = Priority + Nice,所以用户可以根据设置 Nice 值在一定程度上影响对应进程的调度优先级。

6. Ref