[EC2] CPU 使用率中的窃取项是什么?

这位是系统解决方案部的中川先生。

之前,我们遇到某台服务器频繁出现 CPU 负载问题,经调查
发现,这是由于 AWS EC2 中 T2 系列实例的特性所致。这为我们提供了
一个很好的机会,可以进一步调查负载原因及其特性。

top 命令的结果

top - 运行时间 01:41:32,已运行 13 分钟,1 个用户,平均负载:0.17、0.17、0.08。
任务总数:88 个,1 个正在运行,87 个处于睡眠状态,0 个已停止,0 个僵尸
进程。CPU 使用率:0.7% 用户,2.0% 系统,0.0% 空闲,93.8% 空闲,3.0% 等待,0.0% 高级,0.0% 静态,0.5% 静态。
内存:总计 1017372k,已用 184052k,可用 833320k,缓冲区 33848k。
交换空间:总计 1048572k,已用 52416k,可用 996156k,缓存 24688k。

看起来 Cpu(s): 行最右边的“st (steal)”项与此有关。

CPU窃取

由于这个术语比较陌生,我进一步查阅后发现,在虚拟服务器中,
“向客户操作系统发出处理请求但未分配 CPU 资源的时间百分比”。EC2
它指的是
提供多种实例类型,其中 T2 系列实例
具有一项功能,当使用量超过一定限度时,会限制性能(突发性能)。

CPU积分

在研究T2实例的过程中,我又遇到了一个陌生的术语。
官方网站的根据代表“整个CPU核心在一分钟内的性能它似乎

因为当所有分配的 CPU 资源耗尽时,就会出现 CPU 使用率的峰值
我认为这可以粗略地反映 CPU 使用情况,
我以前认为 CPU 的处理能力与其核心数量成正比,但
T2 系列实例可能并非如此。

如何回应

既然我们已经了解了突发事件的含义和激活条件,那么我们该如何处理它呢?
如果我们不改变正在处理的数据量,则有三种可能的方法:

・重启实例

重启系统会重新分配 CPU 资源。然而,这
只是暂时的解决办法,如果系统一直处于这种状态,最终会崩溃。

・升级实例规格

增加 T2 实例大小,以增加分配的 CPU 积分数量。

・更改实例类型

T2 实例采用 CPU 积分制,这意味着它们的处理能力不一定与核心数相匹配。因此
,您可能需要考虑切换到固定性能实例(例如 M3 或 C3 实例)以确保稳定的处理性能。

最后

EC2 经常被用作测试环境,因为从创建实例到启动实例的过程非常顺畅。

虽然我一直在使用它,但
我只在设置过程中指定实例类型时,或者在调查 CPU、内存数量以及与其他实例相比的使用费用差异时,才会关注实例类型。

在撰写这篇博客文章的过程中,我学到了很多关于性能方面的新知识,
我希望这些知识能够帮助我进行故障排除,并提高我在工作中的技术知识和技能。

如果您觉得这篇文章对您有帮助,请点个“赞”!
0
加载中...
0票,平均分:0.00/10
10,091
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

中川沙金娜

我于 2016 年以应届毕业生的身份加入公司。最近,我一直在学习服务器的基础知识,感觉很不错。