How much RAM? Are you installing from Omnibus packages? I ask because I have two servers and have near perfect uptime.
If any, I think this is maybe too much, every worker just spawns more and more workers. I restricted Postgres from taking all RAM, Sidekiq and Puma to low numbers. But there are more..
I follow the instructions straight from Gitlab.
It's specially important at this size to have git in a different machine than the database as both are I/O constrained.