性能分析命令
top命令: 现在市面有很多 top 命令的变种。 atop btop htop…
top是性能分析使用第1个命令,也是 大家 用的最多性能分析命令。
top
: 常用的性能分析工具,能够实时显示系统中各个 进程\线程 的资源占用状况
默认是显示 进程
默认是 3秒 自动刷新一次数据
top - 20:08:18 当前系统时间
up 33 min, 启动运行了多长时间。 ------这个时间越长说明,服务器越稳定。 说明,我们服务器有多长时间没有去重启。
2 users, 有多少个终端用户连接, 不代表多少个账户
load average: 0.04, 0.03, 0.05 ========服务器性能的重点关注值
load average: 系统平均负载
怎么来的? 系统繁忙是时间 与 系统不繁忙的时间 之比
系统繁忙: CPU繁忙 + io繁忙
loadaverage 它是由 CPU 和 io 两项关键数据来决定的。 系统负载 = CPU负载 + io负载
- 三个数值: 系统过去1分钟的平均负载、 系统过去5分钟的平均负载、 系统过去15分钟的平均负载
- 第1个值,如果很高,说明 系统过去一分钟 系统负载很大,系统很繁忙。
- 高? 怎么判断它为高?
- 一般来说,数值如果大于 cpu数量 的80%, 数值比较高
- 如果达到 5倍 cpu数量,说明系统负载非常大了。
- 第1个值 & 第2个值,一起看
- 第1个值 > 第2个值
- 说明,系统目前负载正在上升,有上升趋势,可能还会继续上升 -----现在的系统负载比过去要高。
- 第1个值 < 第2个值
- 说明,系统的负载在慢慢下降。现在的负载,在逐步恢复正常。
- IO: 换入换出
- 由三部分组成: 磁盘的换入换出、 外设的换入换出、内部元件数据转移
- 磁盘的换入换出: 磁盘读写
- 外设的换入换出: 外部设备换入换出、网络数据换入换出
- 内部元件数据转移:CPU与内存数据交换、 内存与磁盘数据交换、网络数据转为内存…
- cpu负载,怎么来算的?
- cpu的繁忙 & cpu的不繁忙
- %Cpu(s): 合并cpu的统计数据
- 所有大数据是 所有数量cpu的总情况
- &cpu0 这种情况,一行的数据,是展示当前这个一个cpu的数据
- 0.0 us, CPU的用户态使用时间占比 --------cpu繁忙
- 0.2 sy, cpu的系统态使用时间占比 ---------cpu繁忙
- 0.0 ni, 优先级切换占用的cpu时间 ------cpu繁忙
- 99.8 id, idle 空闲 -----------空闲 不繁忙
- 0.0 wa, wait等待状态的时间占比 ---------------时刻准备着—随时都可能被换醒------部分繁忙
- 0.0 hi, hard interrupt 硬中断 —有保存和打开数据占用cpu时间 -----cpu繁忙
- 0.0 si, soft interrupt 软中断 —有保存和打开数据占用cpu时间 -----cpu繁忙
- 0.0 st 管理者占用时间
- Tasks: 165 total, 当前的总任务数
- 按下H, Threads 242 total 当前总线程数
- 任何一个进程,都至少有1个线程
- 1 running, 当前正在运行
- 164 sleeping, 当前正处于休眠
- 0 stopped, 停止状态
- 0 zombie 僵尸状态
内存信息
KiB Mem : 1882196 total总内存, 1086060 free空闲内存, 438044 used被占用了, 358092 buff缓冲区/cache缓存
KiB Swap: 4063228 total, 4063228 free, 0 used. 1289084 avail Mem 可用内存
- swap 交换分区 -----干交换数据的活
- 交换什么数据? ----交换内存中的数据。
- 当内存条内存空不够用了。 把一些内存条中数据,临时转移到 swap分区, 被转移的数据,一般是当前使用频率不高数据。
- 交换分区,是由磁盘虚拟来的----它速度 比 内存条中内存速度慢。