top
命令是一个用于实时显示 Linux 系统进程活动和系统负载的工具。它提供了一个动态视图,允许用户查看和管理进程、监控系统资源使用情况。以下是 top
命令的详细解释:
启动 top
在终端中输入 top
启动该命令:
top
top
界面概览
top
界面分为两部分:摘要信息和进程列表。
摘要信息
top
界面顶部显示系统的摘要信息,包括系统负载、任务状态和内存使用情况。
top - 15:23:57 up 1:15, 1 user, load average: 0.27, 0.24, 0.21
Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 98.7 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2048000 total, 983000 free, 384000 used, 680000 buff/cache
KiB Swap: 1024000 total, 1000000 free, 24000 used. 1600000 avail Mem
-
第一行:
top - 15:23:57
:命令名称和当前时间。up 1:15
:系统运行时间(即从启动到现在的时间)。1 user
:当前登录用户数。load average: 0.27, 0.24, 0.21
:系统负载平均值,分别为过去 1 分钟、5 分钟和 15 分钟的平均负载。
-
第二行:
Tasks: 91 total
:任务(进程)总数。1 running
:正在运行的进程数。90 sleeping
:睡眠(等待)的进程数。0 stopped
:停止的进程数。0 zombie
:僵尸进程数。
-
第三行:
- CPU使用情况的详细信息:
us
:用户空间的CPU时间百分比。sy
:内核空间的CPU时间百分比。ni
:优先级较低的用户进程的CPU时间百分比。id
:空闲时间百分比。wa
:等待I/O的时间百分比。hi
:硬件中断处理时间百分比。si
:软件中断处理时间百分比。st
:虚拟机窃取的时间百分比。
- CPU使用情况的详细信息:
-
第四行:
- 内存使用情况:
total
:总内存。free
:空闲内存。used
:已用内存。buff/cache
:缓冲/缓存的内存。
- 内存使用情况:
-
第五行:
- 交换内存使用情况:
total
:总交换内存。free
:空闲交换内存。used
:已用交换内存。avail Mem
:可用内存。
- 交换内存使用情况:
进程列表
显示系统中所有进程的详细信息。每行表示一个进程。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1245 root 20 0 30200 2600 1200 S 0.0 0.1 0:00.02 my_process
- PID: 进程ID
- USER: 进程所有者
- PR: 进程优先级
- NI: nice值,影响进程优先级
- VIRT: 进程使用的虚拟内存总量,包括所有代码、数据和共享库
- RES: 进程使用的物理内存大小
- SHR: 进程使用的共享内存大小
- S: 进程状态(R=运行,S=睡眠,D=不可中断的睡眠,Z=僵尸进程,T=跟踪/停止)
- %CPU: 进程使用的CPU百分比
- %MEM: 进程使用的内存百分比
- TIME+: 进程启动以来的CPU时间总和
- COMMAND: 进程的命令名/命令行
top
命令的交互命令
在 top
界面中,可以使用一些交互命令进行操作:
h
:显示帮助。k
:终止一个进程。提示输入进程ID(PID)并确认是否终止。r
:调整一个进程的优先级(renice)。提示输入进程ID和新优先级。q
:退出top
。d
:更改刷新间隔时间。默认是3秒。P
:按CPU使用率排序。M
:按内存使用率排序。T
:按运行时间排序。n
:设置显示的进程数。u
:按用户名过滤进程。s
:更改刷新间隔时间。f
:显示或隐藏列。
结束 top
按 q
键退出 top
命令。
高级选项
在启动 top
时,还可以使用一些选项来定制显示和行为:
-b
:以批处理模式运行,适合用于脚本。-n
:指定更新次数。例如,top -b -n 1
只更新一次然后退出。-p
:仅监视指定的PID。例如,top -p 1234
只显示PID为1234的进程。
示例
- 显示单次快照并退出:
top -b -n 1
- 仅监视 PID 为 1234 的进程:
top -p 1234
通过这些功能和选项,top
命令可以帮助你实时监控和管理系统的性能和资源使用情况。