首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行一周后弹性豆杆高CPU负荷

运行一周后弹性豆杆高CPU负荷
EN

Stack Overflow用户
提问于 2017-02-24 17:57:31
回答 1查看 1.2K关注 0票数 1

我在AWS Bean秸秆上运行一个单一实例的工作人员。它是一个单集装箱码头,每个工作日运行一些进程一次。大多数情况下,进程从S3同步大量小文件并分析这些文件。

设置运行良好,大约一周,然后CPU负荷开始线性增长的时间,如这个屏幕截图。

CPU负载保持在相当高的水平,减缓了我计划的进程。同时,我在容器中运行的顶级资源跟踪(privileged Docker模式来启用它):

代码语言:javascript
复制
echo "%CPU %MEM ARGS $(date)" && ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 | tail

显示几乎没有CPU负载(这仅在我的日常进程运行期间发生变化,似乎准确地反映了当时的系统负载)。

在这个“背景”系统负载的起源方面,我遗漏了什么?想知道是否有人看到了类似的行为,并且/或可以从运行的容器中提出其他诊断。

到目前为止,我每周都会重新启动安装程序,以删除“后台”加载,但这并不理想,因为每次重新启动后的第一次运行必须从S3收集超过100万个小文件(而随后的每日运行只需要每天添加几千个文件)。

EN

回答 1

Stack Overflow用户

发布于 2017-02-25 00:39:26

侧写有点奇怪。尤其是它是一个线性增长。就像有些东西在积累,并且需要越来越长的时间来处理。我没有足够的信息来指出一个具体的问题。有几件事你可以检查:

  • 您是否在任何地方收集文件,无论是有意的,还是在缓存或传输文件夹中?这可能是因为系统正在运行后台进程(AV、index、defrag、dedupe等),而“大量的小文件”正在积累,成为需要进行分页或低效率处理的东西。
  • 流程的任何部分是否使用每周一次的命名约定或家务管理流程。您可能会遇到冲突,或者随着一周的结束而累积工作负荷。也就是说,第二周实际上是在处理第一周和第二周的数据,但永远不会完成,因此第二天的情况会越来越糟。我看到了类似的情况,一个不合适的气泡排序过程没有完成(由于数据的缓慢而稳定的流入,导致它不断重置),并且随着数组的增大,这个过程的需求逐渐增加。
  • 你有每周轮转周期的记录吗?
  • 是否有其他关键的性能指标跟随这一趋势?(网络、磁盘IO、内存、分页等)
  • 如果是假阳性,一定要考虑。如果是高CPU,则应该有其他指标反映CPU行为、缓存使用、磁盘IO、S3传输统计信息/日志记录。

RL

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42445293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档