Ruby 1.8.6 p230 p238 有内存泄漏 Bug
这两天有些奇怪,服务器上 Rails 进程的内存占用总是不断上涨,只要一天时间,内存就暴满,然后开始啃虚拟内存,网站也变得很慢。
开始以为是 ruby-gettext 的问题,因为 1.90 的 ruby-gettext 确实有这么个内存泄漏的 bug,不过我当初打过了补丁,应该不会出现问题。尝试升级到 1.91,问题依旧……
接着怀疑是代码本身的问题,不过前些日子一直正常,这两天又没有改过网站代码,所以排除。
后来想起来,上个星期把服务器上的 ruby 升级为最新的 1.8.6_p230,难道问题出在这里? Google 了一下,果然:
[Ruby 1.8 - Bug #216] (Open) Memory leaks in 1.8.6p230 and p238
看来 production 下不能使用 p230 和 p238 了,即使是 is-Programmer 这样流量很小的网站,问题都很严重。
降级回 1.8.6_p114,问题解决~