Ich habe ein Problem mit meiner Gitlab-Installation, die auf einem kleinen Ubuntu LTS 16.04 ausgeführt wird. Ich muss darauf hinweisen, dass ich nicht viel Erfahrung mit Linux oder Gitlab habe.
Meine Gitlab-Installation mit einigen persönlichen Projekten (nur 4) lief in Ordnung, obwohl das Pushing extrem langsam ist und manchmal fehlschlägt. Auch der Zugriff auf die Weboberfläche ist extrem langsam. Ich habe den Server überprüft und festgestellt, dass bis zu 96% des gesamten Speichers verwendet wurden. Der Schuldige scheint ein Bündelprozess zu sein.
top - 00:15:30 up 59 days, 16:17, 1 user, load average: 0.00, 0.01, 0.09
Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.5 us, 0.2 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 72.4/2048272 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ]
KiB Swap: 0.0/0 [ ]
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8760 git 20 0 648908 412768 14700 S 0.7 20.2 0:30.58 bundle
8799 git 20 0 513748 302632 14300 S 0.0 14.8 0:20.02 bundle
8833 git 20 0 513748 293028 4696 S 0.0 14.3 0:00.03 bundle
8839 git 20 0 513748 292904 4572 S 0.0 14.3 0:00.02 bundle
8836 git 20 0 513748 292840 4508 S 0.3 14.3 0:00.04 bundle
11792 mysql 20 0 1567168 158296 0 S 0.0 7.7 5:01.31 mysqld
32688 root 20 0 11.279g 99476 1164 S 0.0 4.9 1:21.06 dotnet
8092 gitlab-+ 20 0 576816 39616 39020 S 0.0 1.9 0:00.10 postgres
8854 gitlab-+ 20 0 595572 15004 10524 S 0.0 0.7 0:00.09 postgres
8075 git 20 0 128348 14896 7680 S 0.0 0.7 0:00.07 gitlab-workhors
8830 gitlab-+ 20 0 592816 12196 9780 S 0.0 0.6 0:00.04 postgres
9534 gitlab-+ 20 0 592824 12060 9668 S 0.0 0.6 0:00.01 postgres
8781 gitlab-+ 20 0 592816 11932 9616 S 0.0 0.6 0:00.02 postgres
32684 root 20 0 61856 11420 0 S 0.0 0.6 23:35.39 supervisord
8100 gitlab-+ 20 0 37552 11112 2868 S 0.3 0.5 0:03.74 redis-server
8094 gitlab-+ 20 0 577068 7944 7324 S 0.0 0.4 0:00.01 postgres
8087 gitlab-+ 20 0 46756 7932 2900 S 0.0 0.4 0:00.01 nginx
8095 gitlab-+ 20 0 577068 7052 6444 S 0.0 0.3 0:00.06 postgres
8088 gitlab-+ 20 0 46412 6752 1992 S 0.0 0.3 0:00.10 nginx
975 root 20 0 38236 6368 1908 S 0.0 0.3 8:47.56 systemd-journal
8097 gitlab-+ 20 0 578076 5600 4240 S 0.0 0.3 0:00.05 postgres
8086 root 20 0 42240 5524 4696 S 0.0 0.3 0:00.00 nginx
974 root 20 0 12204 4720 60 S 0.0 0.2 2:33.12 haveged
1 root 20 0 185260 4308 2408 S 0.0 0.2 3:23.22 systemd
7757 root 20 0 25224 4256 2484 S 0.0 0.2 0:00.28 bash
9857 root 20 0 42468 3708 3076 R 0.0 0.2 0:00.09 top
8098 gitlab-+ 20 0 26956 3296 2608 S 0.0 0.2 0:00.08 postgres
8089 gitlab-+ 20 0 42424 3260 2224 S 0.0 0.2 0:00.01 nginx
8784 git 20 0 18100 2980 2664 S 0.0 0.1 0:00.38 gitlab-unicorn-
8096 gitlab-+ 20 0 577068 2932 2332 S 0.0 0.1 0:00.03 postgres
Ich habe pstree getroffen und diese Bundle-Prozesse scheinen mit der Ruby-Anwendung in Zusammenhang zu stehen (muss Gitlab sein).
systemd─┬─agetty
├─atd
├─bundle─┬─3*[bundle───{ruby-timer-thr}]
│ └─{ruby-timer-thr}
...
Hat jemand ähnliche Erfahrungen gemacht oder eine Idee, was dies verursachen könnte?
quelle
bundle
verbrauchen die Prozesse Speicher und verursachen übermäßigen Austausch. Dies wurde zumindest vorübergehend mit behobengitlab-ctl restart
. "Gitlab hat Speicherlecks", heißt es in der Dokumentation. Ja, es hat Undichtigkeiten ab dem Moment, in dem Sie es installieren, wenn es im Leerlauf läuft.c
, um die tatsächlichen Befehlszeilen anzuzeigen.Ich weiß, dass dieser Thread ein bisschen abgestanden ist, aber trifft das noch jemand? Ich bin auf einer physischen Box mit 24 GB und 12 Kernen / 24 Threads und sehe ein Bündel, das wie verrückt gespalten ist, bis es den gesamten Speicher aufnimmt. Ich habe in der gitlab-Konfiguration nachgesehen und festgestellt, dass die Sidekiq-Parallelität standardmäßig auf 25 eingestellt ist - das bedeutet anscheinend, dass bis zu 25 Kopien des Bundles ausgeführt werden? Es werden so viele wie möglich aus dem Speicher erstellt. Verrückt.
quelle
Haben Sie versucht, es aus- und wieder einzuschalten?
gitlab-ctl restart
Was auch immer passiert
bundle
, es scheint ziemlich klar zu sein, dass die * -Killer-Tools diese Probleme nicht lösen. Es sieht so aus, als würden diese Prozesse von Sidekiq aus gestartet.quelle
Auf gitlab.com gibt es ein Problem mit dieser Nummer 40816 .
Es scheint, dass eine höhere Einstellung von MIN + MAX hilfreich sein kann: https://docs.gitlab.com/ee/user/gitlab_com/index.html#unicorn
Ich benutze:
quelle