top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
top命令详解
top命令 使用非常简单,输入 top ,回车 。top命令展示信息非常多,后面详细讲解。 top命令执行后会动态显示系统状态(实时的), 按 q 可以退出命令。
image.png
逐行解释:
第一行
top - 14:00:26 up 6 days, 21:14, 3 users, load average: 0.06, 0.03, 0.05
- top - 14:00:26 : 系统的当前时间
- up 6 days, 21:14, :系统的已运行时间,6天21小时14分种
- 3 users,: 当前登录用户三个
- load average: 0.06, 0.03, 0.05 :系统的平均负载情况,数字是根据每5秒的活跃进程数除以cpu的数量,再根据特定算法 算出来。
第一个数字0.06代表最近1分钟的平均负载,
第二个数字0.03代表最近5分钟的平均负载
第三个数字0.05代表最近15分钟的平均负载
<mark style="box-sizing: border-box; background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">如果数字高于5,就代表系统在超负荷运转了</mark>
第二行 (进程信息)
Tasks: 128 total, 1 running, 127 sleeping, 0 stopped, 0 zombie
- Tasks: 任务 (进程)
- 128 total: 总共有128个进程
- 1 running: 1个进程正在运行
- 127 sleeping: 127个进程在休眠
- 0 stopped : 0个进程停止
- 0 zombie : 0个进程僵死
第三行 (cpu使用信息)
%Cpu(s): 0.1 us, 0.4 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- 0.1 us:用户空间占用CPU百分比
- 0.4 sy:内核空间占用CPU百分比
- 0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
- 99.5 id: 空闲CPU百分比
- 0.0 wa:等待输入输出的CPU时间百分比
- 0.0 hi: 硬件占用CPU百分比
- 0.0 si: 软件占用CPU百分比
- 0.0 st: 虚拟机占用CPU百分比
通常只用看 空闲cpu 百分比就可以了,如果低于20%,就要申请加资源了。
第四行 (物理内存使用情况)
KiB Mem : 3861372 total, 1724872 free, 326996 used, 1809504 buff/cache
KiB Mem: 内存显示单位为KB
1MB = 1024KB
1GB = 1024MB
- 3861372 total: 物理内存总共有3861372KB
- 1724872 free :空闲1724872KB
- 326996 used : 已使用 326996 KB
- 1809504 buff/cache : 缓冲区使用1809504KB
<mark style="box-sizing: border-box; background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">什么是缓冲区(buff/cache)?</mark>
buffer :即写如磁盘时,先保存到磁盘缓冲区(buffer),然后再写入到磁盘。
cache : 即读磁盘时,数据从磁盘读出后,暂留在缓冲区(cache),为后续程序的使用做准备。
缓冲区的内存确实已被系统使用,但是又可以很快回收,交由用户使用,从用户角度来看可以划分为空闲状态的内存。
第五行 (交换区使用情况)
什么是交换区?
交换区也称作虚拟内存,物理内存就是主机中的硬件内存条,由RAM芯片组成,<mark style="box-sizing: border-box; background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">交换区 是系统从硬盘中虚拟出来的内存,将硬盘当作内存使用</mark>。当物理内存不够的时候,被踢出的进程被暂时存储到交换区。当需要这条被踢出的进程的时候,就从交换区重新加载到内存,否则它不会主动交换到真实内存中。
KiB Swap: 8388604 total, 8388604 free, 0 used. 3241596 avail Mem
- KiB Swap: 交换区内存,单位KB
- 8388604 total : 交换区内存共 8388604KB
- 8388604 free : 交换区未使用内存 8388604KB
- 0 used : 交换区使用 0KB内存(因为物理内存未超载,不会启用交换区内存)
- 3241596 avail Mem: 物理内存还有 3241596KB 可用
其他内容
所有进程的运行情况
image.png
- PID: 进程编号
- USER: 用户名称
- PR:系统的进程优先级PR值;
- NI:系统的进程优先级nice(范围-20~19);
- VIRT:虚拟内存(需要这些内存,但并没有占满)
- RES:常驻内存(用了多少内存)
- SHR:共享内存
- %CPU:进程使用CPU百分比(这个百分比的总数是根据cpu核心数来决定的,假如是双核cpu ,总百分比就是 200%,四核就是400%,以此类推)
- %MEM:进程使用内存的百分比
- TIME+: 进程运行时间
- COMMAND: 进程命令或者进程名
top命令的内部指令
M : 进程按内存排序
P : 进程按CPU排序
N :进程按PID排序
<:向前翻一页
:向后翻一页
z: 彩色显示
q: 退出命令
网友评论