1. top命令简介
top命令是一种常用的 Linux 实时性能监控工具,可以显示系统资源使用情况和进程信息,可以帮助用户了解当前系统的运行状态。
参考文档:
2. 常见用法
显示实时进程信息:在终端输入
top
命令即可,按下键盘上的 q 键退出。按 CPU 使用率排序:按下
Shift + P
键,即可将进程按照 CPU 使用率的高低排序。按内存使用率排序:按下
Shift + M
键,即可将进程按照内存使用率的高低排序。以批处理方式运行:在终端输入
top -b
命令,可以将 top 命令的输出结果输出到文件中,以批处理的方式运行。显示特定用户进程:在终端输入
top -u <username>
命令,可以只显示特定用户的进程。显示特定进程信息:在终端输入
top -p <pid>
命令,可以只显示指定进程的信息。
3. top命令输出
在不同的操作系统中,top
命令输出的行列可能略有不同,但大体上是类似的。
示例:
1 | top - 15:15:44 up 13 days, 1:30, 1 user, load average: 0.00, 0.01, 0.05 |
3.1. 第一行
- top:当前系统时间和运行时间。
- up:系统运行的时间。
- users:当前登录的用户数。
- load average:系统的平均负载情况,分别表示过去 1 分钟、5 分钟和 15 分钟的平均值。
3.2. 第二行
- Tasks:总的进程数。
- running:正在运行的进程数。
- sleeping:休眠状态的进程数。
- stopped:已停止的进程数。
- zombie:僵尸进程的数量。
3.3. 第三行
- Cpu(s):CPU 的使用情况。
- us:用户空间程序使用 CPU 时间占比。
- sy:内核空间程序使用 CPU 时间占比。
- ni:进程优先级(nice)。
- id:CPU 空闲时间占比。
- wa:等待 I/O 的 CPU 时间占比。
- hi:硬件中断占用 CPU 时间占比。
- si:软件中断占用 CPU 时间占比。
- st:被偷走的 CPU 时间占比。
3.4. 第四行
- total:系统总内存。
- free:空闲内存。
- used:已使用内存。
- buff/cache:用于缓存的内存,包括内核缓存和用户空间缓存。
3.5. 第五行
- total:交换空间总大小。
- free:空闲交换空间大小。
- used:已使用的交换空间大小。
- avail Mem:可以被应用程序使用的内存大小。
3.6. 第六行以后
- PID:进程 ID。
- USER:进程所属用户。
- %CPU:进程使用 CPU 时间占比。
- %MEM:进程使用内存占比。
- VSZ:进程虚拟内存使用量。
- RSS:进程物理内存使用量。
- TTY:进程绑定的终端(如果有)。
- STAT:进程状态,包括 S(睡眠状态)、R(正在运行)、D(不可中断的睡眠状态)、Z(僵尸状态)等。
- START:进程启动时间。
- TIME+:进程使用 CPU 时间总计。
- COMMAND:进程所对应的命令。