不一样的思想~~ http://shop34712791.taobao.com MSN:wins0910@hotmail.com

php 内存占用(问/答)

上一篇 / 下一篇  2008-03-25 22:44:38 / 个人分类:碎片

问:
变量创建  class 使用 等 对内存的占用 情况如何?

决定内存高占用的都有哪些因素?
______________________________________________________________________________________________
答1:
这和zend的引擎有关
没研究过PHP这方面的代码
帮你顶一下
______________________________________________________________________________________________
答2:
变量存储的数据是不是很大,如果是用完变量记得unset一下。
数据库查询时候条件允许的化用一些专用函数,比如mysql_unbuffered_query,
______________________________________________________________________________________________
答3:
个人感觉对资源的消耗更多的是在服务器方面,像APACHE占用的资源.
______________________________________________________________________________________________
答4:
up 高手继续谈下经常验
______________________________________________________________________________________________
答5:
程序冗余代码多,内存就占用高。
______________________________________________________________________________________________
答6:
内存的管理由操作系统进行,php通过c函数alloc向操作系统申请内存空间。注意这个申请是申请一块连续的空间,若申请不到则php将不断的发出申请直到申请成功。你最好在服务器上安装内存整理软件来回收闲散的内存碎片
php向系统申请的空间不会超过php.ini中memory_limit的设置,该空间包括php进(线)程
php向系统申请的空间在php进(线)程结束时将自动释放,但有未关闭的数据库连接时,这一动作将延迟一段时间。

______________________________________________________________________________________________
答7:
如果其中涉及到共享内存的情况的话 考虑到unix/windows系统,情况是不一样的
______________________________________________________________________________________________
答8:
多用户访问 时 这时的内存使用是怎样的呢?
如: 1000 个用户同时访问    
程序中的 $var = values;
是每个用户都创建一次 单独占用一块内存    还是共享使用?

在程序结整时 会自动释放这些内存的占用?    还是需要自己unset 他们?
______________________________________________________________________________________________
答9:
不是已经说了吗?每个连接独占不大于memory_limit的内存,用完后有php释放。自己unset可以减少向系统请求的空间,但作用不大
____________________________________________________________________________________


相关阅读:

TAG: 碎片

 

评分:0

我来说两句

Open Toolbar