惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
T
Tailwind CSS Blog
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
A
About on SuperTechFans
L
LangChain Blog
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
G
Google Developers Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
D
Docker
博客园 - 聂微东
博客园 - 司徒正美
Recent Announcements
Recent Announcements
MyScale Blog
MyScale Blog
U
Unit 42

任峻宏的小站

Debugging Memory Leaks in a Next.js Application Troubleshooting: Resolving Devise Issue in an API-only Application How to Customize a Right-Click Menu in React Using ActionCable and React to Create a Simple Chat App 纪念左耳朵耗子 - 任峻宏的小站 Using SSE to Implement ChatGPT in Rails Refresh Myself - 任峻宏的小站 战痘 - 任峻宏的小站 逆向的能量——生活需要批评者 - 任峻宏的小站 人活着必须要有目标 - 任峻宏的小站 《第一人称单数》读书笔记 - 任峻宏的小站 卸载英雄联盟 - 任峻宏的小站 我的 2021 年总结 - 任峻宏的小站 记我的爷爷 - 任峻宏的小站 Migrate from Webpacker to Vite 从入门到放弃 《人生算法》读书笔记 - 任峻宏的小站 《不拘一格》读书笔记 - 任峻宏的小站 我为什么很少写博客 - 任峻宏的小站 我的2020年总结 - 任峻宏的小站 如何避免冲动消费? - 任峻宏的小站 《不能不去爱的两件事》读书笔记 - 任峻宏的小站 记一次搬家 - 任峻宏的小站 My blog V3.0 has been published! 解决服务器上运行 bundle install 时 killed 的问题 解决生产环境不能发送邮件的问题 - 任峻宏的小站 勿忘初心 - 任峻宏的小站 关于 RSpec 的一点方法总结 - 任峻宏的小站 使用 AJAX 重载部分页面 - 任峻宏的小站 Nginx 添加 SSL 支持 - 任峻宏的小站 Nginx 中进行重定向配置 - 任峻宏的小站
解决内存泄漏记录 - 任峻宏的小站
任峻宏 · 2018-01-02 · via 任峻宏的小站

https://devcenter.heroku.com/articles/ruby-memory-use#too-many-workers-over-time

过程

首先降低 puma 的 worker = 1 ,结果基本没用

查看是不是 gem 的问题,用到了 derailed 这个 gem, to see how much memory each gem uses at boot time

分析发现 countries 用了 5MB 多的内存,去掉之后确实不报 R14 错误了,说明确实是存在 gem 使用问题导致内存泄漏的问题

最后通过 update 了 carrierwave 和 fog gem 到 latest versioin,减小了内存占用,问题解决

啊。发现问题还是没有解决,并发高的时候内存又溢出了。。

判断可能是属于 Too much memory used at runtime

装了个 scout_apm(heroku 的 add-on)分析了一下

再一查发现还是一个查询语句的问题,出现了慢查询,有一个查询花了接近10秒。最后把查询语句简化,问题解决。

总结

内存超出(Memory Quota Exceeded),排查两个问题:

服务器的问题。worker 是否过多?Puma 切换到 unicorn?

gem的使用问题。使用 derailed gem 可以分析 gem 的内存使用情况;

参考 https://devcenter.heroku.com/articles/ruby-memory-use#too-many-workers-over-time 排查问题