`top` 命令是Linux下非常强大的实时系统监视工具,它提供了系统当前运行进程的动态视图,包括CPU使用、内存使用以及进程的状态等信息。下面是如何解读`top`命令输出的一些关键部分:
当你运行 `top` 命令后,你会看到一个类似这样的界面:
```
top - 11:45:17 up 1 day, 4:31, 2 users, load average: 0.67, 0.69, 0.66
Tasks: 146 total, 1 running, 145 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.0 us, 1.0 sy, 0.0 ni, 95.0 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16154128 total, 13241460 free, 1659972 used, 1252696 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 13627704 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2644 mysql 15 0 282964 31128 11428 S 0.0 0.2 0:00.01 mysqld
2841 user 15 0 13684 2088 1560 R 0.0 0.0 0:00.00 top
```
这里是各部分的解释:
- **标题行**:
- `top - 11:45:17`: 显示`top`命令执行的时间。
- `up 1 day, 4:31`: 系统已经运行了多长时间。
- `2 users`: 当前登录的用户数。
- `load average: 0.67, 0.69, 0.66`: 1分钟、5分钟和15分钟的平均负载。
- **任务状态**:
- `Tasks`: 总共的任务数,正在运行的,睡眠的,停止的,僵尸进程的数量。
- **CPU使用情况**:
- `%Cpu(s)`: CPU使用率的详细细分,包括用户空间使用(`us`)、内核空间使用(`sy`)、优先级提升(`ni`)、空闲(`id`)、I/O等待(`wa`)、硬件中断(`hi`)、软件中断(`si`)、被偷走的时间(`st`)。
- **内存使用情况**:
- `KiB Mem`: 总内存,自由内存,已使用内存,缓冲/缓存占用的内存。
- `KiB Swap`: 总交换空间,自由交换空间,使用的交换空间,以及可利用的内存(包括自由内存和缓存)。
- **进程列表**:
- `PID`: 进程标识符。
- `USER`: 执行进程的用户。
- `PR`: 进程的优先级。
- `NI`: nice值,影响进程调度的优先级。
- `VIRT`: 进程的虚拟内存大小。
- `RES`: 进程实际使用的物理内存大小。
- `SHR`: 进程使用的共享内存大小。
- `S`: 进程状态,如R(运行)、S(睡眠)、D(不可中断的睡眠)等。
- `%CPU`: 进程使用的CPU百分比。
- `%MEM`: 进程使用的内存百分比。
- `TIME+`: 进程已经运行的时间。
- `COMMAND`: 进程的命令名。
你可以通过键盘上的命令来操作`top`:
- `q`: 退出`top`。
- `k`: 发送信号给选定的进程。
- `r`: 重置选定进程的nice值。
- `P`: 按CPU使用量排序进程。
- `M`: 按内存使用量排序进程。
- `N`: 按PID排序进程。
这些信息可以帮助你了解系统资源的实时使用状况,以及哪些进程占用了最多的资源。