【问题标题】:cannot allocate memory - RSelenium and EC2无法分配内存 - RSelenium 和 EC2
【发布时间】:2020-01-06 14:55:49
【问题描述】:

我正在尝试实施 Selenium 测试以在网站上执行自动化操作(循环浏览页面)。我正在使用 RRSelenium 包以及 PostgreSQL 数据库使用 DBI 包。所有这一切都使用 EC2 AWS 服务器。

我的问题是,在脚本启动几分钟后,我的 RStudio 会话冻结(以及我的 Linux 会话),我可以看到类似无法分配内存的消息。 所以这无疑是一个内存问题,通过 top 我可以看到我的 Selenium docker 正在使用大部分资源。

但我的问题是如何减少 Selenium 测试使用的内存量?

【问题讨论】:

  • 您当前使用的是什么实例类型?可以使用内存更大的实例类型吗?
  • 我使用的是 t2.micro(内存大小:1024 Mio)。在升级到另一个实例之前,我想了解是什么驱动了该内存
  • 我相信基线配置中的 selenium 需要不止一个 gig 的内存。您可能一开始就使用动力不足的实例类型。如果是这样的话,尝试调整测试或其他任何东西都是没有意义的。
  • 是的,然后将在 t2.medium 上尝试。谢谢罗德里戈!

标签: r amazon-web-services selenium memory rselenium


【解决方案1】:

恕我直言,没有实用的方法让测试使用比给定测试所需的内存更少的内存。您可以尝试通过将其分解为 2 个或更多测试来简化给定的测试。按照另一个答案中的建议,检查内存泄漏。

如果存在问题,使用具有更多内存的下一个最大实例类型并在不使用时关闭实例以节省资金会容易得多。

【讨论】:

    【解决方案2】:

    不要忘记在你的代码中drive.close(),如果你不关闭你的驱动程序,你会有很多Chrome实例。

    【讨论】:

      猜你喜欢
      • 2018-08-14
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 2017-07-15
      • 2015-08-15
      • 2015-04-01
      • 2017-12-05
      相关资源
      最近更新 更多