首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP应用程序性能

PHP应用程序性能
EN

Stack Overflow用户
提问于 2012-01-11 08:35:00
回答 1查看 156关注 0票数 1

首先,我想说我正在使用Drupal作为CMS,并且我知道有单独的站点。但我的问题不是Drupal特定的,它不是在用户或高级用户级别。它与PHP和Server相关。好了现在有问题了。

我已经开发了网站,但尚未启动。我随机地从记忆错误中解脱出来。有时服务器会崩溃。有助于重新启动。没有其他人使用应用程序,所以没有沉重的负载。特别是超过了私人限价。我尝试过一些一般的方法--增加/减少PHP内存限制,查看错误日志,记录缓慢的MySQL查询。没什么..。一样的。

我已经运行了“顶级”linux命令。根据浏览器请求,有4-5个apache进程。哪个MEM使用率(%)是10,5,4,3,0.5。两个进程正在运行>10小时。重新启动apache之后,我获得了+40%的空闲内存。

这里有一些问题和我的想法。

  1. 为什么这两个进程在没有来自浏览器的活动请求的情况下运行这么长时间?
  2. 为什么在重新启动后得到+40%的空闲内存,而apache使用了10+5+4+3+0.5内存?这不应该是相等的吗?
  3. ,这能是内存泄漏吗?怎样才能检测到它们呢?
  4. ,我应该使用哪些技术来从更高的层次过渡到更低的水平?假设我的一个函数中有“内存泄漏”,我应该如何让他进入整个application?
  5. How --我能为内存和CPU的使用基准我的特殊函数吗?
  6. 为什么服务器崩溃?即使是基本的httpd重新启动也返回“叉:无法分配内存”。这会是内存泄漏的症状吗?

请逐点回答。

EN

回答 1

Stack Overflow用户

发布于 2012-01-11 08:41:44

听起来,在处理GD之类的事情时,您可能有一个无限循环,或者您没有释放资源。

当有空闲ram时,Linux将东西保存在RAM中,如果突然需要另一个进程对RAM的需求,并且ram没有被使用,Linux将释放/交换它以满足需要的应用程序。检查“空闲”的输出,您将注意到一个缓存列,该列指示刚刚缓存了多少并且可以在任何时候释放。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8816327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档