1、top前5行统计信息
第1行是任务队列信息,分别表示:
当前时间、系统运行时间、正在登录的用户数以及过去1分钟、5分钟、15分钟的平均负载
平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数
所谓可运行状态的进程,是指正在使用CPU或者正在等待CPU的进程
不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的I/O响应
假设我们在一个单CPU系统上看到平均负载为1.73,0.60,7.98,那么说明在过去 1 分钟内,系统有73%的超载,而在15分钟内,有698%的超载,从整体趋势来看,系统的负载在降低
CPU使用率是单位时间内CPU繁忙情况的统计,跟平均负载并不一定完全对应。比如:
- CPU密集型进程,使用大量CPU会导致平均负载升高,此时这两者是一致的
- I/O密集型进程,等待I/O也会导致平均负载升高,但CPU使用率不一定很高
- 大量等待CPU的进程调度也会导致平均负载升高,此时的CPU使用率也会比较高
第2行为进程信息,分别表示:
进程总数、正在运行的进程数、睡眠的进程数、停止的进程数、僵尸进程数
第3行为CPU信息,分别表示:
用户空间占用CPU百分比、内核空间占用CPU百分比、用户进程空间内改变过优先级的进程占用CPU百分比、空闲CPU百分比、等待输入的CPU时间百分比、硬中断占用CPU的百分比、软中断占用CPU的百分比、这个虚拟机被hypervisor偷去的CPU时间
第4、5行为内存信息,分别表示:
第4行:物理内存总量、空闲内存总量、使用的物理内存总量、用作内核缓存的内存量
第5行:交换区总量、空闲交换区总量、使用的交换区总量、可用于进程下一次分配的物理内存数量
2、进程信息
列名 | 含义 |
---|---|
PID | 进程ID |
USER | 进程所有者的用户名 |
PR | 优先级 |
NI | nice值。负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
SHR | 共享内存大小,单位kb |
S | 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
COMMAND | 命令名/命令行 |
参考:
https://blog.csdn.net/yjclsx/article/details/81508455
极客时间《Linux性能优化实战》