Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 弹性Beanstalk运行一周后CPU负载高_Amazon Web Services_Docker_Amazon S3_Amazon Elastic Beanstalk_Cpu Usage - Fatal编程技术网

Amazon web services 弹性Beanstalk运行一周后CPU负载高

Amazon web services 弹性Beanstalk运行一周后CPU负载高,amazon-web-services,docker,amazon-s3,amazon-elastic-beanstalk,cpu-usage,Amazon Web Services,Docker,Amazon S3,Amazon Elastic Beanstalk,Cpu Usage,我正在AWS Beanstalk上运行单实例工作程序。它是一个单容器Docker,每个工作日运行一次某些流程。大多数情况下,进程会同步S3中的大量小文件并对其进行分析 安装程序正常运行约一周,然后CPU负载开始随时间线性增长,如本屏幕截图所示 CPU负载保持在一个相当大的水平,减慢了我计划的进程。同时,我的顶级资源跟踪在容器内运行(Docker模式启用): 显示几乎没有CPU负载(仅在我的日常进程运行期间发生变化,似乎准确地反映了当时的系统负载) 关于这个“背景”系统负载的起源,我在这里遗漏了

我正在AWS Beanstalk上运行单实例工作程序。它是一个单容器Docker,每个工作日运行一次某些流程。大多数情况下,进程会同步S3中的大量小文件并对其进行分析

安装程序正常运行约一周,然后CPU负载开始随时间线性增长,如本屏幕截图所示

CPU负载保持在一个相当大的水平,减慢了我计划的进程。同时,我的顶级资源跟踪在容器内运行(Docker模式启用):

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

关于这个“背景”系统负载的起源,我在这里遗漏了什么?想知道是否有人看到过类似的行为,和/或建议从运行的容器中进行其他诊断


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

配置文件有点奇怪。特别是它是一种线性增长。几乎就像有些东西正在积累,并且需要越来越长的时间来处理。 我没有足够的信息来指出具体的问题。您可以检查以下几点:

  • 您是否在任何地方收集文件,无论是有意收集还是在缓存或传输文件夹中收集?可能是系统正在运行后台进程(AV、索引、碎片整理、重复数据消除等),而“大量小文件”正在积累,成为需要分页或低效处理的内容

  • 您的流程中是否有任何部分使用每周命名约定或内部管理流程。随着一周的过去,你可能会遇到冲突,或者积累工作量。i、 e.第二周实际上是在处理第一周和第二周的数据,但从未完成,因此第二天情况会逐渐恶化。我看到了类似的情况,不适当的冒泡排序过程没有完成(由于缓慢但稳定的数据流入导致其不断重置,因此从未达到完成条件),并且随着阵列变大,该过程的需求逐渐增加

  • 您是否有一些关于每周滚动周期的日志记录

  • 是否有任何其他关键绩效指标遵循这一趋势?(网络、磁盘IO、内存、分页等)

  • 如果是假阳性,一定要考虑。如果是高CPU,则应该有其他指标反映CPU行为、缓存使用、磁盘IO、S3传输统计/日志记录


RL

外形有点奇怪。特别是它是一种线性增长。几乎就像有些东西正在积累,并且需要越来越长的时间来处理。 我没有足够的信息来指出具体的问题。您可以检查以下几点:

  • 您是否在任何地方收集文件,无论是有意收集还是在缓存或传输文件夹中收集?可能是系统正在运行后台进程(AV、索引、碎片整理、重复数据消除等),而“大量小文件”正在积累,成为需要分页或低效处理的内容

  • 您的流程中是否有任何部分使用每周命名约定或内部管理流程。随着一周的过去,你可能会遇到冲突,或者积累工作量。i、 e.第二周实际上是在处理第一周和第二周的数据,但从未完成,因此第二天情况会逐渐恶化。我看到了类似的情况,不适当的冒泡排序过程没有完成(由于缓慢但稳定的数据流入导致其不断重置,因此从未达到完成条件),并且随着阵列变大,该过程的需求逐渐增加

  • 您是否有一些关于每周滚动周期的日志记录

  • 是否有任何其他关键绩效指标遵循这一趋势?(网络、磁盘IO、内存、分页等)

  • 如果是假阳性,一定要考虑。如果是高CPU,则应该有其他指标反映CPU行为、缓存使用、磁盘IO、S3传输统计/日志记录


RL

奇怪的是,我不运行任何每周进程,当CPU负载增长时,网络输入/输出保持接近零。从S3同步的文件保留在docker主机实例的SSD驱动器上。我是否可以在shell脚本中运行一些其他命令集来诊断CPU负载的来源?不知何故,需要确定消耗系统资源的进程……我将与一些NIX朋友交谈,并在下班后与您联系。最好的建议是“顶级”,并获得一个更复杂的监控工具的试用许可证。上衣不错,但我不确定你会得到更多。我的理解是top将提供基本的。问题是“后台”CPU负载没有反映在系统使用命令输出中。感谢@Polymath总结了这些可能性,我将探讨其他反映CPU模式的指标。奇怪的是,我不运行任何每周进程,当CPU负载增长时,网络输入/输出保持接近零。从S3同步的文件保留在docker主机实例的SSD驱动器上。我是否可以在shell脚本中运行一些其他命令集来诊断CPU负载的来源?不知何故,需要确定消耗系统资源的进程……我将与一些NIX朋友交谈,并在下班后与您联系。最好的建议是“顶级”,并获得一个更复杂的监控工具的试用许可证。上衣不错,但我不确定你会得到更多。我的理解是top将提供基本的。问题是没有反映“后台”CPU负载
echo "%CPU %MEM ARGS $(date)" && ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 | tail