内存溢出问题的解决方案
来源:互联网 发布:linux mongodb 启动 编辑:程序博客网 时间:2024/06/10 16:25
内存溢出: out of memory 是指程序运行实际所需要的内存超出了系统能够分配给它的最大内存时,就会导致out of memory。
比如,PHP脚本默认申请的最大内存是128M,如果脚本执行过程中实际需要的内存超过了128M,就会导致内存溢出。
内存泄露: memory leak 是指程序中已动态分配的内存,由于某种原因程序未及时释放或无法释放,从而造成内存的浪费。
一次内存泄露的危害可以忽略,但内存泄露堆积的后果很严重,无论多大内存,迟早会被用尽。内存泄漏最终可能导致内存溢出。
数据统计时,如果一次性查询出所有的数据,数据量太大,就可能导致内存溢出。
解决方案有两种:
修改PHP脚本可用内存的大小
// 临时设置php可以使用的内存大小为512M,在safe_mode(安全模式)下,ini_set无效ini_set('memory_limit', '512M');
对数据进行分批处理,并及时销毁(unset)用过的变量
另外,为了节省PHP脚本对内存的损耗,应尽可能减少静态变量的使用,在需要数据重用时,可以考虑使用引用(&)。
如果一个变量被其他变量引用,unset销毁变量时,应该将该变量及其相关的引用变量也销毁。
阅读全文
0 0
- 内存溢出问题的解决方案
- 内存溢出的解决方案
- 内存溢出的解决方案
- 关于一个CS项目,jvm内存溢出问题的解决方案
- matlab内存溢出的解决方案
- 内存溢出的问题
- Java内存溢出导常时的解决方案
- Java内存溢出的详细解决方案(转)
- Java内存溢出的详细解决方案(转)
- Java内存溢出的详细解决方案
- Java内存溢出的详细解决方案(转载)
- Java内存溢出的详细解决方案
- Java内存溢出的详细解决方案
- Java内存溢出的详细解决方案
- 我的listview 图片 内存溢出 解决方案
- Java内存溢出的详细解决方案
- Java内存溢出的详细解决方案
- Java内存溢出的详细解决方案
- Linux修改进程名称
- 异常和常用API
- CSS 盒模型概念
- PHP重新学习(二)——PHP数据类型
- 初学者关于c语法的一些注意事项
- 内存溢出问题的解决方案
- 二分法查找有序数列
- Session和Cookie的联系与区别
- 复习【temp】
- 正则表达式
- [数学] 欧拉角、四元数
- 8、jQuery核心--动画篇
- 面试程序题----Sql语句的优化
- C++笔记——多态