Heng30的博客
搜索 分类 关于 订阅

一篇文章带你看懂top命令默认输出信息

2025-02-23

在Linux中top命令应该是最常使用的性能分析工具,可以通过top命令获取CPU、内存、进程状态和中断等信息,是排错和调试一把好手。

在终端执行top命令,会输出下面的信息:

top - 11:47:33 up 4 days,  1:55,  7 users,  load average: 0.18, 0.07, 0.09
Tasks: 450 total,   1 running, 449 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3914.0 total,    277.1 free,   2261.1 used,   1738.0 buff/cache
MiB Swap:   3914.0 total,   3913.5 free,      0.5 used.   1652.9 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  69146 blue      20   0   23184   5888   3712 R   0.4   0.1   0:00.10 top
   1583 root      20   0  335108  18080   7296 S   0.2   0.5   0:38.89 upowerd
  38269 gdm       20   0 5179284 233356 126464 S   0.2   5.8   1:58.34 gnome-shell
  50982 gdm       20   0 5253208 233484 126940 S   0.2   5.8   1:15.60 gnome-shell
  67095 root      20   0       0      0      0 I   0.2   0.0   0:00.28 kworker/5:0-events

...

系统概况

top - 11:47:33 up 4 days,  1:55,  7 users,  load average: 0.18, 0.07, 0.09
  • 11:47:33:当前系统时间。

  • up 4 days, 1:55:系统已经运行了4天1小时55分钟。

  • 7 users:当前有7个用户登录系统。

  • load average: 0.18, 0.07, 0.09:系统的平均负载,分别表示过去1分钟、5分钟和15分钟的平均负载。负载值表示系统的任务队列长度,通常小于CPU核心数表示系统负载较轻。

任务概况

Tasks: 450 total,   1 running, 449 sleeping,   0 stopped,   0 zombie
  • 450 total:系统中共有450个任务(进程)。

  • 1 running:当前有1个进程正在运行。

  • 449 sleeping:有449个进程处于睡眠状态(等待资源或事件)。

  • 0 stopped:没有进程被停止。

  • 0 zombie:没有僵尸进程(已经终止但未被父进程回收的进程)。

CPU使用情况

%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
  • 0.0 us:用户空间占用CPU的百分比(运行用户进程)。

  • 0.0 sy:内核空间占用CPU的百分比(运行内核进程)。

  • 0.0 ni:调整过优先级的用户进程占用CPU的百分比。

  • 99.9 id:空闲CPU的百分比。

  • 0.0 wa:等待I/O操作的CPU时间百分比。

  • 0.0 hi:硬件中断占用CPU的百分比。

  • 0.0 si:软件中断占用CPU的百分比。

  • 0.0 st:虚拟机偷取的CPU时间百分比(在虚拟化环境中)。

内存使用情况

MiB Mem :   3914.0 total,    277.1 free,   2261.1 used,   1738.0 buff/cache
  • 3914.0 total:系统总内存为3914 MiB。

  • 277.1 free:空闲内存为277.1 MiB。

  • 2261.1 used:已使用内存为2261.1 MiB。

  • 1738.0 buff/cache:用于缓存和缓冲的内存为1738.0 MiB。

交换分区使用情况

MiB Swap:   3914.0 total,   3913.5 free,      0.5 used.   1652.9 avail Mem
  • 3914.0 total:交换分区总大小为3914 MiB。

  • 3913.5 free:空闲交换分区为3913.5 MiB。

  • 0.5 used:已使用的交换分区为0.5 MiB。

  • 1652.9 avail Mem:可用内存为1652.9 MiB(估计可用于启动新应用程序的内存)。

进程列表

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  • PID:进程ID。

  • USER:进程所有者。

  • PR:进程优先级。

  • NI:进程的nice值(优先级调整值)。

  • VIRT:进程使用的虚拟内存总量(包括交换分区和物理内存)。

  • RES:进程使用的物理内存大小。

  • SHR:进程使用的共享内存大小。

  • S:进程状态(R=运行,S=睡眠,I=空闲,Z=僵尸等)。

  • %CPU:进程占用的CPU百分比。

  • %MEM:进程占用的内存百分比。

  • TIME+:进程使用的CPU时间总计(格式为分钟:秒)。

  • COMMAND:进程的命令名称。

通过上面的详细讲解,你应该对top命令的默认输出有一个很直观和清晰的认知。