Memory leaks casperjs:Phantomjs仍在处理中

Memory leaks casperjs:Phantomjs仍在处理中,memory-leaks,cron,phantomjs,casperjs,Memory Leaks,Cron,Phantomjs,Casperjs,这是一张在linode托管的我的Ubuntu 14.04服务器上显示的top图片: 我对linux系统或casperjs的了解非常有限,因此我将尽可能精确地描述我对casperjs的使用 “我的”是一个内容网站,它发布了该所有者之前在Youtube、v.qq.com和Blog.sina.com.cn上发布的内容。她希望网站显示这些网站的“点击率”。因此,我习惯于抓取youtube和v.qq.com上显示的视频播放时间,并抓取blog.sina.com.cn上的文章点击量,然后将数据保存在.js

这是一张在linode托管的我的Ubuntu 14.04服务器上显示的
top
图片:

我对linux系统或casperjs的了解非常有限,因此我将尽可能精确地描述我对casperjs的使用

“我的”是一个内容网站,它发布了该所有者之前在Youtube、v.qq.com和Blog.sina.com.cn上发布的内容。她希望网站显示这些网站的“点击率”。因此,我习惯于抓取youtube和v.qq.com上显示的视频播放时间,并抓取blog.sina.com.cn上的文章点击量,然后将数据保存在.json文件中,以便我的网站可以使用它们。请注意,因为v.qq.com在中国,从我的服务器上运行速度非常慢,所以我在脚本中为它的URL设置了很长的等待时间

为了保持数据的更新,我分别为它们创建了两个不同的cron作业。第一个.js每30分钟运行一次,第二个每天午夜运行一次。我认为值得一提的是,之前,我将第二个cron作业设置为每小时运行一次,问题比上图中显示的要严重得多-我看到了大约十个phantomjs进程,每个进程都消耗3~5%的CPU

首先,我认为这个问题可能是因为casperjs脚本没有正确退出(),对吗? 尽管如此,第一个脚本还是存在一个问题:有时候,当试图从v.qq.com上抓取视频播放时间时,脚本会停止运行(我还没有弄清楚原因,但可能与v.qq.com处理请求的方式有关),所以它是否可能没有正确退出并保持活动状态

其次,因为在我的第一个脚本中有很多URL需要抓取,有时它们可以持续运行30分钟以上,这意味着下一个计划的cron作业在最后一个尚未完成时开始运行。这是否会产生任何问题,是否可能是问题的原因


提前感谢。

通过
var casper=require('casper')设置步骤超时。创建({stepTimeout:10000})
。如果您有n个步骤,它最多将以
n*stepTimeOut
结束…通过
var casper=require('casper')设置一个步骤超时。创建({stepTimeOut:10000})
。如果您有n个步骤,它最多将以
n*stepTimeOut
结束。。。