You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby 2.7.6遗留系统内存泄漏排查求助及内存异常疑问

Ruby 2.7.6遗留系统内存泄漏排查求助

我维护着一个基于Ruby 2.7.6的遗留系统,存在内存泄漏问题。之前的开发者用puma_worker_killer工具,每30分钟重启进程来缓解内存问题。但随着流量增长,我们不得不增加实例数量,还把重启间隔缩短到了20分钟。

我们想找到内存泄漏的根源,之前的开发者说泄漏似乎来自某个Gem依赖。系统部署在AWS Elastic Beanstalk,也支持Docker运行。求推荐合适的工具和排查方法?

更新:
我用mini-profiler工具,针对约100次请求采集了服务器[请求前、请求中、请求后]的内存快照。从结果看,Ruby层面好像不存在内存泄漏,但内存占用确实上升后没回落,而且占用的内存也不是业务代码在用...

请求前:

KiB Mem : 2007248 total, 628156 free, 766956 used, 612136 buff/cache
KiB Swap: 2097148 total, 2049276 free, 47872 used. 1064852 avail Mem

Total allocated: 115227 bytes (1433 objects) Total retained: 21036 bytes (147 objects)

allocated memory by gem

33121  activesupport-6.0.4.7
 21687  actionpack-6.0.4.7
 14484  activerecord-6.0.4.7
 12582  var/app
  9904  ipaddr
  6957  rack-2.2.4
  3512  actionview-6.0.4.7
  2680  mysql2-0.5.3
  1813  rack-mini-profiler-3.0.0
  1696  audited-5.0.2
  1552  concurrent-ruby-1.1.10

请求中:

KiB Mem : 2007248 total, 65068 free, 1800424 used, 141756 buff/cache
KiB Swap: 2097148 total, 2047228 free, 49920 used. 58376 avail Mem

Total allocated: 225272583 bytes (942506 objects) Total retained: 1732241 bytes (12035 objects)

allocated memory by gem

106497060  maxmind-db-1.0.0
 58308032  psych
 38857594 user_agent_parser-2.7.0
  4949108 activesupport-6.0.4.7
  3967930 other
  3229962 activerecord-6.0.4.7
  2154670  rack-2.2.4
  1467383 actionpack-6.0.4.7
  1336204  activemodel-6.0.4.7

请求后:

KiB Mem : 2007248 total, 73760 free, 1817688 used, 115800 buff/cache
KiB Swap: 2097148 total, 2032636 free, 64512 used. 54448 avail Mem

Total allocated: 109563 bytes (1398 objects) Total retained: 14988 bytes (110 objects)

allocated memory by gem

29745  activesupport-6.0.4.7
 21495  actionpack-6.0.4.7
 13452  activerecord-6.0.4.7
 12502  var/app
  9904  ipaddr
  7237  rack-2.2.4
  3128  actionview-6.0.4.7
  2488  mysql2-0.5.3
  1813  rack-mini-profiler-3.0.0
  1360  audited-5.0.2
  1360  concurrent-ruby-1.1.10

那泄漏可能出在哪?是Puma的问题吗?


内容的提问来源于stack exchange,提问作者RanH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 08:20:22