sameersbn / sameersbn/docker-gitlab

puma memory configuration: per_worker_max_memory_mb or puma_ per_worker_max_memory_mb?

Open
#3,154 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
8.1k
Forks
2.1k
Avg merge
17h 47m
Merged PRs (30d)
7

Description

This repository puma.rb template uses 'puma_per_worker_max_memory_mb', however, all other gitlab documents use "per_worker_max_memory_mb" in puma.rb file. For example in puma

I have tried to allocate 2048 Mb memory using PUMA_PER_WORK_MAX_MEMORY_MB, but it doesn't seem to take effect:

{"severity":"WARN","time":"2025-08-16T23:27:00.441Z","memwd_max_strikes":5,"memwd_cur_strikes":6,"message":"rss memory limit exceeded","memwd_rss_bytes":1576566784,"memwd_max_rss_bytes":1572864000,"memwd_handler_class":"Gitlab::Memory::Watchdog::Handlers::PumaHandler","memwd_sleep_time_s":60,"pid":2555,"worker_id":"puma_3"}

This is the puma.rb file generated:

before_fork do
  # Signal to the puma killer
  Gitlab::Cluster::PumaWorkerKillerInitializer.start(@config.options, puma_per_worker_max_memory_mb: 2048, puma_master_max_memory_mb: 800) unless ENV['DISABLE_PUMA_WORKER_KILLER']

  # Signal application hooks that we're about to fork
  Gitlab::Cluster::LifecycleEvents.do_before_fork
end

Should the puma.rb configuration template uses per_worker_max_memory_mb, instead of max_per_worker_max_memory_mb?

Xueshan

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the puma.rb configuration template and compare its generated option with the per_worker_max_memory_mb name used in the linked GitLab Puma documentation. Verify the generated puma.rb output and confirm that the corrected setting is passed to the Puma worker memory watchdog.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, ruby
Domain
backend, devops
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.