如何衡量每个活动Apache Connection的内存使用情况?

Fil*_*tos 7 apache memory-management

我想测量Ubuntu下一个活动Apache连接(= Thread)的内存消耗.

有没有能够做到这一点的监控工具?如果没有,有谁知道Apache连接大致需要多少内存?

reg*_*ero 7

激活mod_status模块,您将获得/ server-status页面上的报告,还有一个更易解析的版本/server-status?q=auto.如果启用ExtendedStatus On,您将获得有关进程和线程的大量信息.

这是监视工具用于跟踪大量统计参数的页面,因此您肯定会找到所需的页面(编辑:如果它不是内存 ...).小心这个文件的安全/访问设置,它是检查服务器如何响应DOS的好工具:-)

关于内存你必须注意Apache喜欢内存,每个进程的内存多少取决于很多东西(加载的模块数量 - 检查你需要你拥有的所有内容,virtualHosts的数量等).但是在稳定的配置上它不会移动太多(除非你使用具有高内存限制使用的PHP脚本......).如果发现内存泄漏,请尝试限制每个进程MaxRequests的请求数(apache会杀死他并放一个新的).

编辑:事实上,服务器状态中没有很多内存信息.关于监视工具,使用SNMP MIB-II的任何工具都可以跟踪每个进程的内存使用情况,如果你有一个snmpd守护进程,可以使用不同子进程(Cacti,Nagios,Munin等)的平均值/最高/最低值.检查这个优秀的Munin示例.这不是每个apache孩子的跟踪,但它会让你知道你可以用这些工具跟踪什么.如果你不需要一个完整的监控系统,如Nagios或Centreon,有警报,用户管理,大型网络(如果你没有很多时间阅读书籍),牟尼是一个很好的工具来获取监控报告蛮快.