18-内存使用扩展设置
7.3.5 内存使用扩展设置
MEMUSAGE_* 设置用于启用并配置内存使用扩展。当超出内存限制时,将会关闭爬虫。当运行在共享环境时,该设置非常有用,因为此时需要非常礼貌的行为。大多数情况下,你可能会发现它只有在接收报警邮件时才会有用,此时我们需要将 MEMUSAGE_LIMIT_MB 设置为0,禁用关闭爬虫的功能。该扩展只在类UNIX平台上适用。
MEMDEBUG_ENABLED 和 MEMDEBUG_NOTIFY 用于启用并配置内存调试扩展,在爬虫关闭时打印出仍然存活的引用数量。总之,追踪内存泄露不是一件简单而有趣的事情(好吧,它还是有一些乐趣的)。我们可以阅读 Debugging memory leaks with trackref 这篇优秀的文档,了解更多内存泄露排查的方法,不过最重要的建议是,保持你的爬虫相对简短、批量处理,并且需要根据服务器的能力运行。我认为没有什么好的理由可以让我们批量运行超过几千页或几分钟。