【问题标题】:How to reduce PhantomJS's CPU and memory usage?如何减少 PhantomJS 的 CPU 和内存使用?
【发布时间】:2014-03-15 13:31:28
【问题描述】:

我通过 Python 的 webdriver lib 使用 PhantomJS。它会占用大量 RAM 和 CPU,这是一个问题,因为我想运行尽可能多的实例。

一些谷歌搜索没有给我任何帮助。那我就直接问了:

  1. 大小重要吗?如果我设置 driver.set_window_size(1280, 1024),它会比 1024x768 吃掉更多的内存吗?

  2. 源代码中是否有任何选项可以在没有实际问题的情况下关闭并导致显着减少内存使用?是的,我仍然需要加载和应用图像、CSS 和 JS,但我可以摆脱一些其他功能……例如,我可以关闭缓存(并且每次都加载所有媒体文件)。是的,我确实需要加快速度并使其不那么贪婪,我准备重新编译它...这里有什么想法吗?

非常感谢!

【问题讨论】:

  • 我在这里遇到了同样的问题,但没有有效的答案。

标签: phantomjs


【解决方案1】:

我假设您为每个渲染作业调用一次 phantomjs。这每次都会创建一个新的 phantomjs 进程。您可以尝试在一个 js 脚本中尽可能多地进行批处理,并为整个批处理调用一次 phantomjs。

【讨论】:

  • 不,我使用每个实例抓取了很多页面。我不会每次都重新启动 phantomjs 来抓取单个页面。
  • 我也知道内存泄漏错误,所以我会不时重启实例,以获得最佳的性能\内存消耗率。所以内存不是一个大问题,尽管减少它会很好,无论如何。但是 CPU 使用率是最糟糕的——即使我用最少的 JS 加载简单的页面,它也相对较高。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多