top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。
top用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。top命令打印出了很多信息,包括系统负载(loadaverage)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。
命令内容详解:
在命令行输入 top
显示如下
第一行
系统信息:
字符 | 描述 |
---|---|
top - 15:35:56 | 当前系统时间 |
up 1:30 | 系统已运行时间 |
2 users | 在线用户,包含系统用户 |
load average: 0.01, 0.03, 0.05 | 系统负载。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 |
第二行
系统进程信息
字符 | 描述 |
---|---|
Tasks: 92 total | 总进程数 |
2 running | 运行进程数 |
91 sleeping | 睡眠进程数 |
0 stopped | 停止进程数 |
0 zombie | 僵尸进程数 |
僵尸进程 :一个子进程在其父进程没有调用wait()或waitpid()的情况下,这个进程就是僵尸进程,如果其父进程还存在一直不调用wait(),则该僵尸进程将无法回收,等到父进程退出后该进程被init回收。
第三行
Cpu使用信息
字符 | 描述 |
---|---|
%Cpu(s): 0.0 us | cpu占用率(%),用户进程占用cpu百分率 |
0.7 sy | 系统占用CPU百分比 |
0.0 ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
99.3 id | cpu空闲率 |
0.0 wa | 等待IO的CPU时间百分比 |
0.0 hi | 硬中断(Hardware IRQ)占用CPU的百分比 |
0.0 si | 软中断(Software Interrupts)占用CPU的百分比 |
第四行
内存使用信息
字符 | 描述 |
---|---|
KiB Mem : 999936 total | 内存总量 |
391636 free | 系统空闲内存大小 |
170252 used | 系统使用内存大小 |
438048 buff/cache | 缓存大小 |
第五行
Swap内存信息
字符 | 描述 |
---|---|
KiB Swap: 1048572 total | Swap 总量 |
1048572 free | Swap空闲量 |
0 used | Swap使用量 |
第六行
进程信息
字符 | 描述 |
---|---|
PID | 进程pid |
USER | 进程所属用户 |
PR | 进程优先级 |
NI | nice值。越小优先级越高,最小-20,最大20(用户设置最大19) |
VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
SHR | 共享内存大小,单位kb |
S | 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 |
%CPU | 进程占用cpu百分比 |
%MEM | 进程占用内存百分比 |
TIME+ | 进程运行时间 |
COMMAND | 进程名称 |
top 常用交互命令(进入top后使用):
- c 换显示命令名称和完整命令行
- M 根据内存大小排序
- P 根据CPU大小排序
- T 根据时间大小排序
- u 输入指定用户名后,查看输入用户名的进程
- q 退出top
- 1 注意:是数字1,不是字母l,监控每个逻辑CPU的状况(对于多核CPU时)
- b 打开/关闭高亮效果
- i 忽略闲置和僵死进程。这是一个开关式命令
- k 终止指定的进程。按下k键–>再输入要杀死的进程的pid–>按enter键–>(选择信号类型,以数字标示,默认15为杀死)本步可省略按enter键(常用为-9)
kill 信号大全详见: https://www.2cto.com/os/201202/119425.html
扩展:比 top
更好使用的工具: htop
: htop