top
命令是一个系统监测工具,它显示了当前系统中最消耗资源的进程,帮助系统管理员快速了解系统的运行情况和性能瓶颈。它在 Linux 操作系统中是一个非常常用的命令。
- 第一行 top
- 10:07:16 :系统当前时间
- 117 days, 16:41 :系统的运行时间,表示系统自上次启动以来运行的时间
- 1 user :当前登录系统的用户数
- load average: 3.67, 4.06, 5.30 :系统负载的度量,表示当前正在运行或等待资源的进程数的平均值。负载平均值以三个数字表示,分别代表过去 1、5、15 分钟的平均值。
- 第二行 TASK
- Tasks: 436 total :系统上正在运行的进程总数。
- 4 running : 正在运行进程数。
- 432 sleeping : 睡眠进程数。
- 0 stopped :停止进程数。
- 0 zombie :僵尸状态进程数。
- 第三行 Cpu
- 35.4 us :表示用户空间进程使用 的 CPU 时间。
- 11.2 sy :表示内核空间进程使用 的 CPU 时间。
- 0.0 ni :表示用户空间进程使用了被明确设置了 nice 值的 CPU 时间,这是控制进程 CPU 优先级的机制。
- 52.6 id : 表示 CPU 空闲时间占用了 52.6% 的 CPU 时间。
- 0.0 wa : 表示因等待 IO 而占用了 CPU 时间,即等待输入输出(I/O wait)时间。
- 0.0 hi :表示处理硬中断占用了 CPU 时间。
- 0.7 si : 表示处理软中断占用了 CPU 时间。
- 0.0 st: 表示被虚拟机使用的 CPU 时间,例如在虚拟机环境中运行的其他操作系统。
- 第四行 KiB Mem
- 65957724 KiB total : 表示系统总内存。
- 6873140 KiB free : 表示空闲内存。
- 50758152 KiB used : 表示已使用内存。
- 8326432 KiB buff/cache : 表示缓存和缓冲区占用内存。
- 第五行 KiB Swap
- 16777212 KiB total : 表示系统总交换空间。
- 7716736 KiB free : 表示空闲交换空间。
- 9060476 KiB used : 表示已使用交换空间。
- 10570308 avail Mem : 表示可用内存,也就是实际可用的内存加上交换空间。
- 第六行
- "PID" 表示进程的 ID,是系统中唯一的标识符。
- "USER" 表示进程的所有者,是指运行该进程的用户的名称。
- "PR" 表示进程的优先级。
- "NI" 表示进程的 nice 值,该值决定了进程的资源分配优先级。
- "VIRT" 表示进程占用的虚拟内存,单位为 KB。
- "RES" 表示进程占用的实际物理内存,单位为 KB。
- "SHR" 表示进程共享内存的大小,单位为 KB。
- "S" 表示进程的状态,其中:"R" 表示进程正在运行,"S" 表示进程处于睡眠状态,"T" 表示进程已停止,"Z" 表示进程处于僵尸状态。
- "%CPU" 表示进程使用的 CPU 时间的百分比。
- "%MEM" 表示进程占用内存的百分比。
- "TIME+" 表示进程运行的总时间。
- "COMMAND" 表示进程的名称。
常用参数
top" 命令支持一些参数,下面是一些常用的参数:
-
-d
:设置刷新频率。 -
-n
:设置刷新的次数。 -
-p
:显示指定进程的信息。 -
-u
:显示指定用户的进程信息。 -
-o
:指定排序字段。 -
-h
:显示帮助信息。
使用样例
- 显示每 2 秒刷新一次且仅刷新 10 次的进程信息:
- 显示指定用户
john
的进程信息:
- 显示指定进程 ID 为 123 的信息:
- 以内存使用率排序: