Linux中的top查看进程详解

  1. 默认输出

    top命令的默认输出如下:

    Linux中的top查看进程详解

  2. 上半部分显示了整体系统负载情况

    top一行:从左到右依次为当前系统时间,系统运行的时间,系统在之前1min、5min和15min内cpu的平均负载值

    Tasks一行:该行给出进程整体的统计信息,包括统计周期内进程总数、运行状态进程数、休眠状态进程数、停止状态进程数和僵死状态进程数

    Cpu(s)一行:cpu整体统计信息,包括用户态下进程、系统态下进程占用cpu时间比,nice值大于0的进程在用户态下占用cpu时间比,cpu处于idle状态、wait状态的时间比,以及处理硬中断、软中断的时间比

    Mem一行:该行提供了内存统计信息,包括物理内存总量、已用内存、空闲内存以及用作缓冲区的内存量

    Swap一行:虚存统计信息,包括交换空间总量、已用交换区大小、空闲交换区大小以及用作缓存的交换空间大小

  3. 下半部分显示了各个进程的运行情况

    PID: 进程pid

    USER: 拉起进程的用户

    PR: 该列值加100为进程优先级,若优先级小于100,则该进程为实时(real-time)进程,否则为普通(normal)进程,实时进程的优先级更高,更容易获得cpu调度,以上输出结果中,java进程优先级为120,是普通进程,had进程优先级为2,为实时进程,migration 进程的优先级RT对应于0,为最高优先级

    NI: 进程的nice优先级值,该列中,实时进程的nice值为0,普通进程的nice值范围为-20~19

    VIRT: 进程所占虚拟内存大小(默认单位kB)

    RES: 进程所占物理内存大小(默认单位kB)

    SHR: 进程所占共享内存大小(默认单位kB)

    S: 进程的运行状态

    %CPU: 采样周期内进程所占cpu百分比

    %MEM: 采样周期内进程所占内存百分比

    TIME+: 进程使用的cpu时间总计

    COMMAND: 拉起进程的命令

  4. 对输出结果进行排序

    top输出的下半部分有很多进程信息列,我们可以根据这些列对进程输出进行排序,默认情况下根据cpu使用率对进程排序。在top命令执行时,按”O”,可以看到排序项以及相应的按键:

    各项默认以从大到小排序,top运行中,按”R”可反向显示输出结果。

    Linux中的top查看进程详解

  5. 显示特定用户相关进程

    在top运行时,按”u”快捷键,可以过滤出特定用户拉起的进程:

    执行top命令时,使用”top -U www”可以起到相同效果。

    Linux中的top查看进程详解

  6. 显示特定进程

    执行top时,使用”-p”选项可以指定要显示的进程:

    Linux中的top查看进程详解

  7. 7显示所有cpu核使用情况

    默认情况下,top上半部分资源负载信息中,显示的是cpu整体的使用情况:

    按数字”1”快捷键,可以开启/关闭显示各个cpu核的信息:

    Linux中的top查看进程详解

    Linux中的top查看进程详解