
Render 512MB Starter에서 Rails OOM 삽질 — render.yaml이 범인이었다
Rails 8 앱을 Render Starter 플랜(512MB)에 올리고 나서 주기적으로 메모리 초과로 서비스가 다운됐다. puma.rb의 스레드 수를 줄이고, queue.yml도 최적화했는데 효과가 없었다. 한참 삽질하고 나서야 진짜 원인을 찾았다. 증상 Render 대시보드에서 OOM(Out of Memory) 이벤트가 반복됨. 메모리 사용량이 512MB를 넘기면서 프로세스가 강제 종료. 첫 번째 시도 — puma.rb 수정 puma.rb의 스레드 기본값을 낮췄다. # config/puma.rb threads_count = ENV.fetch("RAILS_MAX_THREADS", 2) # 3에서 2로 threads threads_count, threads_count workers ENV.fetch("WEB_CONCURRENCY", 1) 배포했는데 여전히 OOM 발생. 이상했다. 진짜 원인 — render.yaml이 코드보다 우선 render.yaml을 보니 이렇게 되어 있었다. ...

