我想测量 Ubuntu 下一个事件 Apache 连接(=线程)的内存消耗。
有没有一个监控工具可以做到这一点? 如果没有,有谁知道 Apache 连接大约需要多少内存?
最佳答案
激活mod_status模块,您将在/server-status 页面上获得报告,/server-status?q=auto
上有一个更可解析的版本。如果您启用ExtendedStatus On,您将获得大量有关进程和线程的信息。
这是监控工具用来跟踪大量统计参数的页面,因此您一定会找到您需要的参数(编辑:如果它不是内存 ...)。请小心该文件的安全/访问设置,它是检查服务器如何响应 DOS 的好工具:-)
关于内存,您必须注意 Apache 喜欢内存,每个进程多少内存取决于很多因素(加载的模块数量 - 检查您是否需要拥有的所有模块、虚拟主机的数量等)。但在稳定的配置上,它不会移动太多(除非您使用具有高内存限制使用的 PHP 脚本......)。如果发现内存泄漏,请尝试限制每个进程的请求数 MaxRequests (apache 会杀死他并放入一个新的)。
编辑:实际上服务器状态中并没有很多内存信息。关于监控工具,任何使用 SNMP MIB-II 的工具都可以跟踪每个进程的内存使用情况,如果您有 snmpd 守护进程,则可以跟踪不同子进程(Cacti、Nagios、Munin 等)的平均/最高/最低值。检查这个excellent Munin example 。它不是对每个 apache 子项的跟踪,但它会让您了解可以使用这些工具跟踪什么。如果您不需要完整的监控系统,例如 Nagios 或 Centreon,具有警报、用户管理、大型网络(并且如果您没有很多时间阅读书籍),恕我直言,Munin 是一个获取监控报告的漂亮工具蛮快。
关于apache - 如何测量每个事件 Apache 连接的内存使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4715592/