前言

浏览器访问gitlab的web页面,发现非常慢,并且很容易出现502问题。其中一个原因就是8080端口被tomcat占用,前面一篇已经更换了端口,但还是很慢。
后来搜了下,原因是gitlab占用内存太多,导致服务器崩溃。尤其是使用阿里云的服务器,最容易出现502.
默认情况下,阿里云云主机的swap功能是没有启用的,解决办法就是启动swap分区。

Swap分区

Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

阿里云服务器默认swap分区是没启动的,输入free查看,如下显示的都是0

[root@yoyo sbin]# free
total used free shared buff/cache available
Mem: 3881692 3219200 369316 52184 293176 360244
Swap: 0 0 0

也可以通过cat /proc/swaps查看

[root@yoyo sbin]# cat /proc/swaps
Filename Type Size Used Priority

启用swap分区

创建swap大小为bs*count=4294971392(4G)

dd if=/dev/zero of=/mnt/swap bs=512 count=8388616

注:of=/mnt/swap目录要是没有就找/data/swap

通过mkswap命令将上面新建出的文件做成swap分区

mkswap /mnt/swap

查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60

vim /etc/sysctl.conf

vim编辑/etc/sysctl.conf,找到vm.swappiness变量配置,改成60
修改前

vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time=120

修改后

vm.swappiness = 60
net.ipv4.neigh.default.gc_stale_time=120

启用分区

swapon /mnt/swap
echo “/data/swap swap swap defaults 0 0” >> /etc/fstab

再次使用cat /proc/swaps 查看swap分区是否启动

[root@yoyo sbin]# cat /proc/swaps
Filename Type Size Used Priority
/mnt/swap file 4194304 0 -1

总的操作步骤如下

[root@yoyo sbin]# cat /proc/swaps
Filename Type Size Used Priority
[root@yoyo sbin]# free
total used free shared buff/cache available
Mem: 3881692 3219200 369316 52184 293176 360244
Swap: 0 0 0 [root@yoyo sbin]# dd if=/dev/zero of=/mnt/swap bs=512 count=8388616
8388616+0 records in
8388616+0 records out
4294971392 bytes (4.3 GB) copied, 38.5364 s, 111 MB/s [root@yoyo sbin]# mkswap /mnt/swap
Setting up swapspace version 1, size = 4194304 KiB
no label, UUID=1fa0acbf-ef66-49bd-ad05-e9fcf2727cc8 [root@yoyo sbin]# vim /etc/sysctl.conf
# vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60 [root@yoyo sbin]# swapon /mnt/swap
swapon: /mnt/swap: insecure permissions 0644, 0600 suggested.
[root@yoyo sbin]# echo “/data/swap swap swap defaults 0 0” >> /etc/fstab
[root@yoyo sbin]# cat /proc/swaps
Filename Type Size Used Priority
/mnt/swap file 4194304 0 -1
[root@yoyo sbin]# free
total used free shared buff/cache available
Mem: 3881692 3387168 165488 52184 329036 200184
Swap: 4194304 0 4194304

gitlab访问慢,出现502,特别卡,耗内存cpu解决办法的更多相关文章

  1. Altium Designer15 卡在登陆界面解决办法:

    Altium Designer15 卡在登陆界面解决办法: 在我的电脑系统盘中找到下面目录(注:如果看不到,需要取消隐藏文件选项.) C:\Documents and Settings\Adminis ...

  2. [Linux] 无法访问国外网站,完成epel源安装的解决办法--待续

    一.缘由: 由于一个机房的网络限制,无法访问国外IP地址,在安装一些开源软件的时候比如smokeping.ansible就无法从epel源在线安装, 编译安装的话,又需要安装各种依赖,麻烦的一逼.所以 ...

  3. 关于web2py外网访问,图形界面不显示等问题的解决办法

    首先系统版本是ubuntu 15.04,系统默认安装了两个版本的python, sudo python web2py.py 默认会调用python2.7版本来执行 会提示 pydo@planpls:/ ...

  4. Combox控件绑定大量数据卡顿问题与解决办法

    一般我们WPF中Combox的绑定都是下面这种写法. XAML: <ComboBox IsEditable="False" ItemsSource="{Bindin ...

  5. [刷机教程] 三星Note8 N5100不卡屏的唯一解决办法--落雨刷机教程

    首先我自己写了一个word,在附件里.大概23页,图文并茂.附带三星NOTE8 N5100 MD2下载包 刷机要谨慎啊,小伙伴们. 刷机教程已经上传到我本人的网站:点击进入去看吧.和word一样. h ...

  6. gitlab安装后吃内存的解决办法

    修改配置文件/etc/gitlab/gitlab.rb 将注释掉的这一行放开(至少为2,大致算法为cpu core数量*2 +1) # unicorn[ 然后执行如下命令: gitlab-ctl re ...

  7. windows----------火狐浏览器访问所有https网站都显示链接不安全解决办法

    1.如有以下情况,点右边的“高级”,看看自己的错误码是否为SEC_ERROR_UNKNOWN_ISSUER 2.在地址栏键入"about:config" 点击“我了解此风险” 3. ...

  8. 微信和QQ内置浏览器为什么老是弹停止访问该网页,微信域名被屏蔽的解决办法

    近来很多商家开始重视域名防封的技术了,为什么呢,因为实在是封怕了.三天两头就得去换域名,换域名是小事,用户流失就是大事了,直接跟利益挂钩的.那么域名防封技术究竟有多重要呢?又该如何实现域名防封呢?下面 ...

  9. Windows7安装 nginx+php 后访问.php文件出现 “No input file specified.” 的解决办法

    在Windows7上安装了Nginx+PHP,参考教程为 https://www.cnblogs.com/anlia/p/5916758.html 启动 nginx 后,在浏览器中输入localhos ...

随机推荐

  1. Codeforces #617 (Div. 3)B. Food Buying

    Mishka wants to buy some food in the nearby shop. Initially, he has ss burles on his card. Mishka ca ...

  2. SpringMVC——SSM整合

    1.环境要求: IDEA MySQL 5.1.19 Tomcat 9 Maven 3.6.1 2.数据库环境搭建 创建一个存放书籍的数据库表 CREATE DATABASE `ssmbuild`; U ...

  3. Educational Codeforces Round 69 (Rated for Div. 2)D(DP,思维)

    #include<bits/stdc++.h>using namespace std;int a[300007];long long sum[300007],tmp[300007],mx[ ...

  4. android传递数据bundle封装传递map对象

    android开发默认情况下,通过Bundle bundle=new Bundle();传递值是不能直接传递map对象的,解决办法: 第一步:封装自己的map,实现序列化即可 ? 1 2 3 4 5 ...

  5. 「Luogu P3680 凸轮廓线」

    一道神奇的计算几何题 前置芝士 正三角形,正方形,圆:什么,您都会,那真是太好了. 三角函数的运用:因为我不是很想在这一块写太多,具体可以自行百度. 推导公式 对于一串是圆和正方形开头和结尾时是十分好 ...

  6. Linux centos7 rsync工具介绍、rsync常用选项、rsync通过ssh同步

    一.rsync工具介绍 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync ...

  7. IntelliJ IDEA 破解之后,用了一段时间后,打开软件提示 no suitable licenses left on the license server

    IntelliJ IDEA 破解之后,用了一段时间后,打开软件提示 no suitable licenses left on the license server 需要让我们重新注册,原来是之前的地址 ...

  8. Day11 - N - Game HDU - 3389

    题目链接 题意是说有1到n个标号的盒子,选择一个非空的盒子A,B是否空无所谓,满足(A+B)%2=1,(A+B)%3=0,A>B 解上面的同余方程组,最小解为3,循环为2*3=6,那我们可以把前 ...

  9. golang自定义error

    系统自身的error处理一般是 errors.New()或fmt.Errorf()等,对一些需要复杂显示的,不太友好,我们可以扩展下error. error在标准库中被定义为一个接口类型,该接口只有一 ...

  10. Java小菜鸟的一些经历

    写在前面 自接触编程以来,从最初看到hello world显示成功时的激动,到现在看到代码大片报错时的无奈, 虽然只有短短一年左右的时间,但感觉自己经历颇多,于是,有了把自己的经历与经验分享给他人的想 ...