php网站运行的时候出现Fatal error: Out of memory (allocated 6553600) (tried to allocate 7305 bytes)
已经按照网上的方法设置了内存上限:memory_limit=1500M
但是仍然出现这样的错误。
看了下服务器,httpd进程有2个,有一个占的内存很少,也就30M左右,有一个内存占用较多,其他物理内存大概接近400M,虚拟内存大概500M,但是加起来并没有达到memory_limit设置的值,为什么会出现这样的错误,盼高手指点。
服务器是windows 2003 + apache +php + mysql

解决方案 »

  1.   

    一般出现在一些死循环上..检查一下自己的php代码 看看具体错在什么地方。
      

  2.   

    memory_limit=1500M 
    这个过分了点,就算能过也不要设这么大检查你的代码,一般用到几十M就够了
      

  3.   

    你的内存碎片太多了申请变量空间是通过 c 函数 alloc 进行的,而该函数只能返回指定尺寸的连续的内存空间
    当内存碎片太多时就会因为找不到合适的内存片段而报错如果你能确认不是你的程序有误而造成的话,应检查 Apache 和 php 相关参数是否合理
    memory_limit=1500M 显然是不合理的一时无法找到原因时,可安装一个内存优化工具来减少内存碎片
      

  4.   

    网站是最土开源的团购系统,所以图片非常,听说传输的图片也会占用httpd的内存,是不是真的这样?