我有一个虚拟私人服务器(在Dreamhost上),我托pipe我的网站的根访问权限。 我受限于内存(目前为500 MB),所以如果一个站点(本网站的脚本)需要太多的内存,我的整个VPS将被closures并重新启动,所有其他站点都将停止运行!
我的平均使用量大约是100 MB,所以远远没有达到极限,不过某种脚本仍然会这样做:请求太多内存,然后Dreamhost的看门狗杀死我的VPS。 这一切都发生在毫秒(所以他们说),我不能轻易地找出发生了什么。
我怎样才能找出脚本是什么原因造成的? Dreamhost并没有对此有帮助,我不完全是最好的Linux黑客:)。
我所有的站点都在Apache上,而且都在PHP中。
将PHP内存限制降到较低的值( php.ini memory_limit config var); 消耗所有内存的脚本将会出错,并且会识别问题。 如果问题仍然没有可见的错误发生,继续降低内存限制。 如果一切都开始出错,你放弃了太多。 如果你在“一切死亡”和“一无所有死亡”之间找不到一个快乐的媒介,考虑一下这个可能性,它实际上并不是一个占用你所有内存的PHP脚本,而是开始寻找其他的可能性(cron作业,后台处理作业,那类的东西)。