无法分配内存 - RSelenium 和 EC2
cannot allocate memory - RSelenium and EC2
我正在尝试实施 Selenium 测试以在网站上执行自动化操作(循环浏览页面)。我正在使用 R 和 RSelenium 包以及使用 DBI 包的 PostgreSQL 数据库。所有这些都使用 EC2 AWS 服务器。
我的问题是脚本启动几分钟后,我的 RStudio 会话冻结(以及我的 Linux session) 我可以看到类似 "cannot allocate memory。
所以这无疑是一个内存问题,通过 top
我可以看到我的 Selenium docker正在使用大部分资源。
但我的问题是如何减少 Selenium 测试使用的内存量?
不要忘记在你的代码中加入drive.close()
,如果你不关闭你的驱动程序,你将会有很多Chrome的实例。
恕我直言,没有实际的方法可以让测试使用的内存少于给定测试所需的内存。您可以尝试通过将给定的测试分解为 2 个或更多测试来简化它。按照另一个答案中的建议检查内存泄漏。
使用具有更多内存的下一个最大实例类型会容易得多,并且在不使用时关闭实例以节省资金(如果这是一个问题)。
我正在尝试实施 Selenium 测试以在网站上执行自动化操作(循环浏览页面)。我正在使用 R 和 RSelenium 包以及使用 DBI 包的 PostgreSQL 数据库。所有这些都使用 EC2 AWS 服务器。
我的问题是脚本启动几分钟后,我的 RStudio 会话冻结(以及我的 Linux session) 我可以看到类似 "cannot allocate memory。
所以这无疑是一个内存问题,通过 top
我可以看到我的 Selenium docker正在使用大部分资源。
但我的问题是如何减少 Selenium 测试使用的内存量?
不要忘记在你的代码中加入drive.close()
,如果你不关闭你的驱动程序,你将会有很多Chrome的实例。
恕我直言,没有实际的方法可以让测试使用的内存少于给定测试所需的内存。您可以尝试通过将给定的测试分解为 2 个或更多测试来简化它。按照另一个答案中的建议检查内存泄漏。
使用具有更多内存的下一个最大实例类型会容易得多,并且在不使用时关闭实例以节省资金(如果这是一个问题)。