The gitlab execution on our company internal server eats lots of memory, the server has 32G memory, and gitlab took more than half of it.
I found there are lots of unicorn processes running, and each unicorn process is taking 1.5% memory
top command output it’s displaying as ruby process and took nearly 500MB resident memory (by default top is sorting by cpu usage, pressing < or > key to change sorting column)
ps aux|grep unicorn|wc -l
Running above command outputs 34, that means at most 34 unicorn processes are running (some other processes’ name also contain unicorn)..
Assume there are 30 real unicorn process running, each takes 500MB memory, then they will take 30*500MB=15GB memory
To decrease unicorn processes count, edit /etc/gitlab/gitlab.rb, and uncomment following line
#unicorn['worker_processes'] = 2
Next restart GitLab
Now the memory usage is decreased.
(Note that running
gitlab-ctl reconfigure will not kill already running unicorn processes)
Netcat is one utility in NMap toolset, it maybe named as nc, ncat or netcat on different Linux distributions. (It’s ncat on CentOS 6).
On CentOS 6 netcat is not installed by default, to install it we can run following command
Then run following command to check netcat is installed correctly