我在Haskell中编写了一个守护程序,它每5分钟从网页中抓取一次信息。该守护程序最初运行了大约50分钟,但随后因内存不足(请求1048576字节)而意外死亡。每次我运行它时,它都会在相同的时间后死亡。将其设置为仅休眠30秒,它反而在8分钟后死亡。我意识到抓取网站的代码非常低效(从sleep时的大约30M到解析9M的html时的250M),所以我重写了它,现在它在解析时只使用了大约15M的额外内存。以为问题已解决,我连夜运行守护程序,当我醒来时,它实际上使用的内存比那天晚上少。我以为我已经完成了,但在它启动大约20小时后,它又因同样的错误而崩溃。我开始研究ghc分析,但我无法让它发挥作