PHP脚本似乎不会因数据库交互而正确释放内存

时间:2012-02-10 09:08:54

标签: php database memory memory-management

我有一个用PHP编写的非常复杂的脚本,它读入大量CSV文件并将内容导入数据库。在某些地方,我不是直接通过INSERT语句,而是通过对象。

我的问题是top(脚本在带有PHP 5.3.2的ubuntu 10.04上运行)显示apache2进程消耗几GB的内存,而memory_get_usage(true)将保持大约250 MB。我开始调用gc_collect_cycles(),它表示有时会收集超过100000个周期但仍然消耗的内存不会减少。在离开函数范围之前我开始取消设置变量。

有没有办法跟踪大量内存使用的原因,更重要的是一种解决方法?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用Webgrind

我之前用过它来查看资源消耗情况,你可以经常看到哪些电话费用最高。处理大型应用程序的输出可能需要一些时间,但可能是值得的。