2017-12-06 3 views
1

wir laufen Gitlab-cl 10.0.1 aus dem Repository installiert auf CentOS 6.9Gitlab-cl-Server und Speichernutzung

Wir haben einen physischen Server mit 65GB RAM. Wir hatten eine langsame Performance auf der Web-Oberfläche, also sahen wir uns beim Speicher an, dass der Server ein bisschen vertauscht und der ganze Speicher belegt ist.

Es gibt keinen aktiven Prozess es mit und frei -m bestätigt es zwischengespeichert wird:

   total  used  free  shared buffers  cached 
Mem:   64412  64179  232  140   1  176 
-/+ buffers/cache:  64001  410 
Swap:  15999  2679  13320 

Das Merkwürdige ist, dass alle Speicher auf DirectMap2M zugeordnet

cat /proc/meminfo 
MemTotal:  65957916 kB 
MemFree:   242364 kB 
Buffers:   1132 kB 
Cached:   193548 kB 
SwapCached:  853032 kB 
Active:   6302692 kB 
Inactive:  1729836 kB 
Active(anon): 6276560 kB 
Inactive(anon): 1704824 kB 
Active(file):  26132 kB 
Inactive(file): 25012 kB 
Unevictable:   0 kB 
Mlocked:    0 kB 
SwapTotal:  16383996 kB 
SwapFree:  13580524 kB 
Dirty:    1576 kB 
Writeback:    0 kB 
AnonPages:  7595904 kB 
Mapped:   162376 kB 
Shmem:   144312 kB 
Slab:   57184100 kB 
SReclaimable:  35132 kB 
SUnreclaim:  57148968 kB 
KernelStack:  12912 kB 
PageTables:  59144 kB 
NFS_Unstable:   0 kB 
Bounce:    0 kB 
WritebackTmp:   0 kB 
CommitLimit: 49362952 kB 
Committed_AS: 18168608 kB 
VmallocTotal: 34359738367 kB 
VmallocUsed:  395428 kB 
VmallocChunk: 34323721400 kB 
HardwareCorrupted:  0 kB 
AnonHugePages: 3260416 kB 
HugePages_Total:  0 
HugePages_Free:  0 
HugePages_Rsvd:  0 
HugePages_Surp:  0 
Hugepagesize:  2048 kB 
DirectMap4k:  7652 kB 
DirectMap2M: 67088384 kB 

Wissen Sie, warum diese es passiert? Ist das bei Gitlab normal?

las ich über einige Befehle Cache aus dem Speicher zu entfernen:

# sync; echo 1 > /proc/sys/vm/drop_caches 
# sync; echo 2 > /proc/sys/vm/drop_caches 
# sync; echo 3 > /proc/sys/vm/drop_caches 

Sind sie sicher laufen Gitlab auf einer Produktionsmaschine laufen zu lassen?

Vielen Dank

Antwort

0

Kann nicht genau das sagen, warum alle Speicher verbraucht ist, aber die Tatsache ist, dass es ist. Zuerst erwartete ich den Standard https://www.linuxatemyram.com/, aber ich kann sehen, dass Sie in Ihrem Fall tatsächlich 64001 kb Speicher verwenden. Die aufgelisteten Befehle sind sinnlos, was sie tun, ist nur Löschen von Festplattenblöcken, die im Speicher zwischengespeichert sind und beim nächsten Mal den gleichen Block verursachen.

Um herauszufinden, was vor sich geht, müssen Sie sehen, welcher Prozess den ganzen Speicher verbraucht. Es gibt mehr Möglichkeiten, dass Informationen

ps -e -o pid,vsz,comm= | sort -n -k 2 

oder die Argumente erhalten auch

ps -e -o pid,vsz,command= | sort -n -k 2|cut -b1-$COLUMNS 

Sie beginnen zu bekommen „top“ und schlagen große „M“ von Speicher Benutzern zu sortieren.