Top 命令输出

top 命令是 Linux 中一个很常用的命令,其作用是将系统的性能统计和进程运行情况输出到控制台中,本文带着大家解析 top 命令输出的内容具体作用。

命令用法

基础用法

最简单的用法就是不加任何参数,直接输入 top 即可。立即清空当前控制台,并且使用全部空间持续不间断地打印信息,刷新时间为 3 秒,效果类似于 Windows 系统中的任务管理器。

$ top
top - 14:53:52 up 32 days, 31 min,  1 user,  load average: 1.13, 1.87, 2.12
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
%Cpu(s): 12.4 us,  6.8 sy,  0.0 ni, 80.0 id,  0.8 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8008892 total,  1040724 free,  6073848 used,   894320 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1189592 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
   21 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 writeback
 1818 root      20   0   78684    784      0 S   0.0  0.0   0:29.32 wpa_supplicant
   29 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 watchdogd
 1650 root      20   0  432588   1624    352 S   0.0  0.0   0:27.61 upowerd
  520 root      20   0  451192   2392    828 S   0.0  0.0   1:05.28 udisksd
  918 root      20   0  578588  13624    220 S   0.0  0.2   5:14.72 tuned
  252 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 ttm_swap
 9618 root      20   0  162152   2384   1600 R   0.3  0.0   0:00.03 top
  390 root      20   0   45096    684      4 S   0.0  0.0   0:00.99 systemd-udevd
  525 root      20   0   26488   1200    840 S   0.0  0.0   2:06.54 systemd-logind
23505 root      20   0   48428  10984  10464 S  12.0  0.1 633:05.99 systemd-journal
    1 root      20   0  125592   2784   1232 S   0.0  0.0   4:46.29 systemd
 1170 root      20   0  112924   1264    236 S   0.0  0.0   0:01.85 sshd
 9589 root      20   0  157324   6032   4680 S   0.0  0.1   0:00.04 sshd
29488 root      20   0  157444   2376    904 S   0.0  0.0   0:00.13 sshd
 3042 polkitd   20   0    2872    168     60 S   0.0  0.0   0:52.56 sh
26316 root      20   0   11688    196      0 S   0.0  0.0   0:00.05 sh
29491 root      20   0   72252   1284    496 S   0.0  0.0   0:00.18 sftp-server
  249 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 scsi_tmf_1
  247 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 scsi_tmf_0

top 还提供了多个参数,可以更方便的进行性能分析。

显示具体的进程信息

$ top -c 

默认情况下,top 的输出中只能显示进程的具体文件名,使用 -c 参数可以输出完整的进程启动命令,包含了文件路径和启动参数等。

调整刷新时间

$ top -d 1

top 的默认刷新时间是 3秒钟,使用 -d 参数后面再加上具体的数据就可以调整 top 的刷新时间。

分析信息

下面我们来分析 top 输出的信息都有哪些具体的含义。

top 的输出主要分为了两部分,上半部分是系统性能统计的分析,下半部分则是具体进程的统计显示。

top - 14:53:52 up 32 days, 31 min,  1 user,  load average: 1.13, 1.87, 2.12
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
%Cpu(s): 12.4 us,  6.8 sy,  0.0 ni, 80.0 id,  0.8 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8008892 total,  1040724 free,  6073848 used,   894320 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1189592 avail

第一行输出的系统统计信息。

top 表示信息是运行 top 命令得到的。

14:53:52 则是当前系统时间。

up 32 days, 31 min 则是表示系统启动后已经运行的时长。

1 user 表示当前只有一个用户再登录。

load average: 1.13, 1.87, 2.12 表示系统当前的性能消耗情况,3 个数字分别表示了 1 分钟、5 分钟和 15 分钟的平均性能消耗统计。

第二行输出的是系统运行的进程任务统计,进程有 4 个状态,分别是 running 、sleepingstoppedzombie,分别对 4 个状态的进程进行和统计,还有所有进程数量统计。对当前系统进行分析时需要重点关注状态为 zombie 的进程,也就是我们经常说到的僵尸进程。僵尸进程会对系统造成非常的性能浪费,极大地拖慢系统运行速度。

第三行输出的是系统的 CPU 性能分析,后面的 8 个都属于 CPU 性能分布,消耗分布以百分比展示,总和为 100。

us 表示用户态的 CPU 比例。

sy 表示内核态的 CPU 比例。

ni 表示运行低优先级进程的 CPU 比例。

id 表示空闲的 CPU 时间比例。

wa 表示等待 IO 的 CPU 比例。

hi 表示硬中断的 CPU 比例。

si 表示软中断的 CPU 比例。

st 表示虚拟机的 CPU 比例。

第四行和第五行输出的都是系统的内存统计信息,第四行是系统实际内存统计分析,第五行是交换内存统计分析。都分为了总内存,空闲内存,已使用内存,缓存和可用内存。

发布时间:2025-06-17
其他阅读

asp.net core实现一个反向代理

本文将向你展示如何在C#和ASP.NET Core中实现一个反向代理功能。

查看原文

我的读书清单

分享互联网人的读书清单,从2024年开始,本文会整理我读过的书籍,按时间排序,编辑成一份读书清单。

查看原文

Js文件上传

文件上传是一个前端比较常见的功能,无论是以前的MVC客户端,还是现代化SPA客户端中,但万变不离其宗,其内核基本不变,本文就此讨论简单文件上传(以图片为例子)。

查看原文

WPF打包成单文件

在开发WPF程序时,有时我们需要把整个软件打包成一个文件,这样可以方便分发,本文将会介绍怎么把WPF打包成单文件形式。

查看原文

网页上通过超链接直接打开PC应用

有时候我们会发现有些网页可以直接打开本地应用,比如在百度网盘网页版下载文件时,会自动打开本地的百度网盘软件。Visual Studio Code打开浏览器认证后也会转到本地引用,Unity官网打开本地的Unity Hub应用进行Unity的下载和更新等。

查看原文