Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2018-11-01 10:27:38 +0300
committerStan Hu <stanhu@gmail.com>2018-11-01 10:29:16 +0300
commitd19ba4439b4f0cda2aa5ab6e1fb7e4f4330738db (patch)
tree3f612522395c9c7bdbc0fa5f6d15e7d241a34d29
parent31733b6fc5a9ba4443a5dd279e787e2fd8e31c6d (diff)
Reserve more RAM for master process in Puma
The Puma Worker Killer checks the total RAM used by both the master and worker processes. Bump the limits to N+1 instead of N workers to account for this.
-rw-r--r--lib/gitlab/cluster/puma_worker_killer_initializer.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/gitlab/cluster/puma_worker_killer_initializer.rb b/lib/gitlab/cluster/puma_worker_killer_initializer.rb
index 331c39f7d6b..4ed9a9a02ab 100644
--- a/lib/gitlab/cluster/puma_worker_killer_initializer.rb
+++ b/lib/gitlab/cluster/puma_worker_killer_initializer.rb
@@ -11,7 +11,11 @@ module Gitlab
# Importantly RAM is for _all_workers (ie, the cluster),
# not each worker as is the case with GITLAB_UNICORN_MEMORY_MAX
worker_count = puma_options[:workers] || 1
- config.ram = worker_count * puma_per_worker_max_memory_mb
+ # The Puma Worker Killer checks the total RAM used by both the master
+ # and worker processes. Bump the limits to N+1 instead of N workers
+ # to account for this:
+ # https://github.com/schneems/puma_worker_killer/blob/v0.1.0/lib/puma_worker_killer/puma_memory.rb#L57
+ config.ram = (worker_count + 1) * puma_per_worker_max_memory_mb
config.frequency = 20 # seconds