该死的吉姆,我是一名网络开发人员,不是系统管理员。
除此之外,我的客户有一台 CentOS 服务器 (6.2),它只为一个 Magento 站点提供服务(以及相关的 MySQL 服务器),尽管该站点目前只对 5 个用户开放,但它经常耗尽内存。我正在调查日志,试图找出内存使用率如此之高的原因,但我真的不知道我在看什么。
似乎有很多/var/log/messages
有关 DHCP 请求的条目,大约每 15 秒一个,如下所示:
Apr 7 14:23:06 s15940039 dhclient[815]: DHCPREQUEST on eth0 to 172.30.102.85 port 67 (xid=0x6b5cd2a7)
这是正常的吗?我在这里没有看到任何我不认识的东西,但我不确定如果我看到了它我是否会知道问题所在。4 天前,服务器内存完全耗尽并锁定,需要重新启动。DHCP 消息在 23 小时内没有再次启动,但随后又像以前一样继续运行。
我读过了这个问题描述了相同的问题,但就我而言,似乎从未发出新的 DHCP 租约。我应该将此问题推给托管服务提供商吗,还是我还没有找到内存问题的根源?
答案1
我非常怀疑它dhclient
是否消耗了您的所有内存,它是一个非常简单的守护进程。您是否使用过top
和之类sar
的工具来实时和历史地跟踪您的内存使用情况?我建议您开始分析 Web 应用程序和 Web 应用程序服务器随时间变化的内存使用情况,也许可以使用应用程序内监控或 Cacti 或 Munin 等外部工具。
此外,如果您的托管服务提供商允许的话,我建议使用静态分配的地址。 dhclient
而 DHCP 基础设施只是可能出现故障的另一个活动部件。
答案2
虽然我理解您为什么认为 dhclient 可能会导致您的 RAM 快速填满,但我认为可能还有其他原因。
我建议你看看一些容易理解的分析工具。安装 htop 和 dstat 并尝试找出哪些东西占用了所有的内存。
看看我的 dstat 教程,它向你展示了一些示例: http://www.xenuser.org/2011/09/24/real-time-system-monitoring-with-dag-wieers-dstat/