top:系统资源管理器
- top命令类似于windows的任务管理器,可以查看内存、cpu、进程等信息(动态查看系统资源信息)
- 在linux系统中常用top命令查看资源性能分析工具
一、参数释义:
第一行 系统时间和平均负载
- top:名称
- 22:12:46:系统当前时间
- up 5.56 :系统运行的时间,和uptime命令相等
- 3 users:当前登录的用户数
- load average:系统一定时间内的平均负载,分别是1分钟、5分钟、15分钟的系统负载情况
第二行 进程列队信息
- Tasks:任务,也就是进程
- 123 total:当前总共有123个任务,也就是123个进程
- 1 running:正在运行的进程数(目前有1个)
- 122 sleeping:睡眠进程数(目前有122个)
- 0 stopped:停止的进程数(目前0个)
- 0 zombie:僵尸进程(目前0个)
第三行 CPU信息
%Cpu(s):CPU使用率
0.0 us:用户空间占用CPU时间的百分比(大部分进程都运行在用户态,通常都是希望用户空间CPU越高越好)
0.1 sy:内核空间占用CPU时间的百分比(Linux内核态占用的CPU时间,系统 CPU占用越高,表明系统某部分存在瓶颈。通常这个值越低越好)
0.0 ni:占用CPU时间的百分比(ni是nice的缩写,进程用户态的优先级,如果调整过优先级,那么展示的就是调整过nice值的进程消耗掉的CPU时间,如果系统中没有进程被调整过nice值,那么ni就显示为0)
99.9 id:空闲CPU占用率百分比,等待进程运行
0.0 wa:等待输入输出的CPU时间百分比(CPU的处理速度是很快的,磁盘IO操作是非常慢的。wa表示 CPU 在等待 IO 操作完成所花费的时间。系统不应该花费大量的时间来等待 IO 操作,否则就说明 IO 存在瓶颈)
0.0 hi:CPU硬中断时间百分比(硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息 )
0.0 si:CPU软中断时间百分比(软中断是由程序发出的中断 )
0.0 st:被强制等待(involuntary wait)虚拟 CPU 的时间,此时 Hypervisor 在为另一个虚拟处理器服务。
第四行 内存
- MiB Mem:内存
- 3861300 total:物理内存总量
- 3024128 free:空闲内存量
- 511672 used:已使用的内存量
- 325500 buff/cache:用作内核缓存的内存量
第五行 交换区
- MiB Swap:交换空间(虚拟内存,当内存不足的时候,把一部分硬盘空间虚拟城内存使用)
- 4063228 total:交换区总量
- 4063228 free:空闲交换区总量
- 0 used:使用的交换区总量
- 3111396 avail Mem:可用于启动一个新应用的内存(物理内存),和free不同,它计算的是可回收的page cache和memory slab
第四行和第五行输出信息,也可以使用free -m命令查看相关信息
二、各进程(任务)的状态监控
- PID:进程ID,进程的唯一标识符
- USER:进程所有者的实际用户名。
- PR:进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。
- NI:进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
- VIRT:进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
- RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,
单位kb。RES=CODE+DATA - SHR:SHR是进程使用的共享内存。共享内存大小,单位kb
- S:这个是进程的状态: - D - 不可中断的睡眠态,- R – 运行态,- S – 睡眠态,- T – 被跟踪或已停止,- Z – 僵尸态
- %CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。
- %MEM:进程使用的可用物理内存百分比。
- TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
- COMMAND:运行进程所使用的命令。进程名称(命令名/命令行)