【问题标题】:Gitlab-cl server and memory usageGitlab-ci 服务器和内存使用情况
【发布时间】:2017-12-08 13:47:08
【问题描述】:

我们正在运行从 centos 6.9 上的存储库安装的 gitlab-cl 10.0.1

我们有一个具有 65GB RAM 的物理服务器。 我们在 Web 界面上的性能很慢,因此查看内存我们看到服务器正在交换一些内存并且所有内存都被使用了。

没有使用它的活动进程,free -m 确认它已被缓存:

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

奇怪的是所有内存都是在 DirectMap2M 上分配的

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

你知道为什么会这样吗? 用 gitlab 正常吗?

我读到了一些从内存中删除缓存的命令:

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

它们在运行 gitlab 的生产机器上运行安全吗?

非常感谢

【问题讨论】:

    标签: memory gitlab centos6


    【解决方案1】:

    无法确切说明为什么所有内存都用完了,但事实就是如此。起初我期望标准 https://www.linuxatemyram.com/ 但我可以看到,在您的情况下,您实际上使用了 64001 kb 的内存。 列出的命令毫无意义,它们所做的只是删除缓存在内存中的磁盘块,从而在下次需要相同的块时造成 io 命中。

    要了解发生了什么,您需要查看占用所有内存的进程。获取该信息的方法有多种

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

    或者也获取参数

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

    您可以从“top”开始并点击大写“M”以按内存用户排序。

    【讨论】:

      猜你喜欢
      • 2021-06-20
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 1970-01-01
      • 2015-02-07
      • 1970-01-01
      相关资源
      最近更新 更多