性能分析top
1. top
命令概述
top
是 Linux 系统中一个常用的性能监控工具,能够动态显示系统的资源使用情况,包括 CPU、内存、进程等信息。通过top
命令,用户可以实时查看系统的状态,并进行性能分析,找出资源占用较高的进程,帮助优化系统性能。
2. top
输出的主要内容
top
命令的输出分为两个主要部分:系统状态信息和进程信息。
2.1 系统状态信息
- up 1:33:系统已运行的时间,表示系统已经持续运行了1小时33分钟。
- 3 users:当前登录的用户数。
- load average: 0.00, 0.01, 0.05:系统负载平均值,分别表示1分钟、5分钟、15分钟的系统负载。
- Tasks: 98 total, 1 running, 97 sleeping, 0 stopped, 0 zombie:系统进程的状态,包括总进程数、正在运行的进程、休眠进程、停止进程和僵尸进程。
2.2 CPU 使用情况
- %Cpu(s): 0.0 us, 0.0 sy, 100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st:
- us (user):用户空间占用的 CPU 百分比。
- sy (system):内核空间占用的 CPU 百分比。
- id (idle):空闲 CPU 的百分比。
- wa (wait):CPU 等待 I/O 的时间百分比。
- hi (hardware interrupt):硬件中断占用的 CPU 百分比。
- si (software interrupt):软件中断占用的 CPU 百分比。
- st (steal):虚拟化环境下,被其他操作系统“偷走”的 CPU 时间。
2.3 内存使用情况
-
KiB Mem : 995896 total, 703224 free, 127528 used, 165144 buff/cache:
- total:系统的总内存大小。
- free:当前未使用的内存。
- used:当前已使用的内存。
- buff/cache:被缓存和缓冲区使用的内存。
-
KiB Swap : 2097148 total, 0 free, 0 used, 693056 avail Mem:
- total:系统的总交换空间。
- free:当前未使用的交换空间。
- used:已使用的交换空间。
- avail Mem:可用内存。
2.4 进程信息
- PID:进程的ID。
- USER:进程所属的用户。
- PR (priority):进程的优先级。
- NI (nice value):进程的“友好度”,影响进程的调度优先级。
- VIRT (virtual memory):进程所使用的虚拟内存量。
- RES (resident memory):进程使用的物理内存量。
- SHR (shared memory):进程使用的共享内存量。
- S (state):进程的状态,常见的有:
- S:睡眠状态。
- R:运行状态。
- %CPU:进程使用的 CPU 百分比。
- %MEM:进程使用的内存百分比。
- TIME+:进程占用的总 CPU 时间。
- COMMAND:进程的命令名称。
3. top
命令常用方法
以下是一些常见的top
命令操作方法:
3.1 启动 top
top
运行top
命令即可进入动态的系统状态监视界面。
3.2 排序方式
- 按 CPU 排序:按 CPU 使用率对进程进行排序,按
P
键。 - 按内存排序:按内存使用情况对进程进行排序,按
M
键。 - 按进程 ID 排序:按进程 ID 对进程排序,按
N
键。
3.3 进程管理
- 杀死进程:在进程列表中找到目标进程,按下
k
键,输入目标进程的 PID,之后输入信号(如15
表示正常终止,9
表示强制终止)。
3.4 刷新间隔
- 调整刷新间隔:按下
d
键,输入新的刷新间隔(单位:秒)。
3.5 查看其他信息
- 切换显示的字段:按
f
键,选择需要显示的字段,按q
退出选择模式。
3.6 退出
- 退出
top
:按q
键即可退出。
4. 常用的top
选项
top
命令提供了一些常用的选项,可以帮助用户定制输出,显示更为精准的信息。
-
-d
:指定屏幕信息刷新的时间间隔,默认为3秒。如果希望每10秒刷新一次,使用:top -d 10
-
-u
:只显示指定用户的进程。如果希望只显示wucz
用户的进程,使用:top -u wucz
-
-p
:只显示指定的进程。例如,使用top -p 1038
,会显示PID为1038的进程。 -
-i
:不显示闲置和僵尸进程。例如:top -i
-
-c
:显示生成进程的完整命令。例如:top -c