IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

估算Apache所需要的内存

芽雨快跑 2009-10-10 13:20:11 累计浏览 3,765 次
本机暂存

     精确的计算所需要的内存是很困难的,为了尽可能的精确,需要观察类似线上环境下观察服务器的负载和进程。毕竟如果不同的服务器配置和装的模块是有差异的,只有查看自己才可靠,所谓核心的东西要掌握在自己手里大概如此。。。。

     一个简单可靠的法子是,在压力测试时,找到httpd进程,查看一个进程使用了多少的内存,然后看看总的进程,即可估算一下。

     比如:
    ps aux | grep httpd
    查看每个httpd进程使用了多少内存,数字在第四列,格式为百分之几。

     ps aux | grep httpd | wc -l
    得到一共有多少进程,记得结果要减1,因为grep httpd也在结果中。

     free
    查看服务器内存总量,单位为K

     然后就可以估算了。比如一个进程占2%的内存,有27个httpd,总内存为4148424。那就是:
php -r "echo 0.002*4148424*26/1024;"
    结果为210.66215625M内存,这个只仅仅是为apache分配的。还得给其它服务留出足够空余的内存。而且考虑高峰期可能会比平时大12倍,这个时候仅仅考虑Apache就够了,嘿嘿。曾经出现过因磁盘IO过高导致服务器崩溃的场景。

     如果怎么算都不能让服务器有空余的内存,就得考虑限制最大进程数了。使用MaxClient指令可以用来限制。

     以上说得有误之处,还请各位指点!

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 在Apache2.2.XX下安装Mod-myvhost模块 (累计阅读 13,056)
  2. 关于linux内存free的一些事情 (累计阅读 12,865)
  3. server日志的路径分析 (累计阅读 11,238)
  4. linux内核研究笔记(一)内存管理 – page介绍 (累计阅读 10,485)
  5. AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁) (累计阅读 10,086)
  6. 查看 Apache并发请求数及其TCP连接状态 (累计阅读 10,065)
  7. PHP程序的执行流程 (累计阅读 10,031)
  8. Cacti 添加 Apache 监控 (累计阅读 9,241)
  9. 大型高并发高负载网站的系统架构分析 (累计阅读 8,999)
  10. 使用Apache 和Passenger来运行puppetmaster (累计阅读 8,314)