[EC2]CPU占用率窃取项是什么?
我是系统解决方案部门的中川。
之前某台服务器出现CPU负载频繁的情况,经过排查,
发现是AWS的EC2的T2实例的特性造成的。
由于这是一个很好的机会,我决定调查一下负载的原因和特征。
top命令的结果
顶部 - 01:41:32 向上 13 分钟,1 个用户,平均负载:0.17、0.17、0.08
任务:总共 88 个、1 个正在运行、87 个正在睡眠、0 个已停止、0 个僵尸
Cpu:0.7%us、2.0%sy , 0.0%ni, 93.8%id, 3.0%wa, 0.0%hi, 0.0%si, 0.5%st
Mem: 总计 1017372k, 已使用 184052k, 空闲 833320k, 33848k 缓冲区
交换: 总计 1048572k, 已使用 52416k, 空闲 996156k, 8k 缓存
看来 Cpu(s): 行右端的项目“st(steal)”是相关的。
CPU窃取
我对这个项目不熟悉,所以我查看了细节,结果
发现在虚拟服务器中,它的意思是
“即使向客户操作系统发出请求进行处理,CPU资源也没有分配的时间百分比” EC2 拥有多种实例类型,其中 T2 实例
具有当使用量超过一定水平时以有限性能(突发)运行的能力。
CPU积分
当我调查基于 T2 的实例时,我再次遇到了一个陌生的词。
根据官网代表整个CPU核心一分钟的性能”。
当所有分配的 CPU 积分都被消耗完时,它就会爆发,所以
我粗略地认为这些数字可以作为 CPU 使用情况的指导。
当我想到 CPU 时,我认为这意味着可以根据核心数量按比例确保一定的处理量,但
基于 T2 的实例可能并非如此。
如何处理
既然我们知道了突发的含义及其激活条件,那么我们应该如何应对呢?
如果不改变处理的数量,有三种可能:
・重启实例
重新启动将重新分配 CPU 积分。
这只是暂时的反应,所以如果保持原样,它最终会破裂。
・实例规格升级
增加 T2 实例大小以增加分配的 CPU 积分量。
・更改实例类型
T2实例采用CPU积分方式,由于无法处理尽可能多的核心
,您可能需要更改为固定性能(M3、C3等)以确保稳定处理。
最后
EC2经常被用作测试环境,因为从实例创建到启动一切都很顺利。
虽然我们在使用,但
只有在构建时指定的实例类型,或者调查其他实例的CPU、内存、使用费用差异时才会关注实例类型。
在撰写这篇博文时,我学到了很多有关性能的新知识,因此
我想利用这些信息来提高我的故障排除和工作技能和知识。