前言

浏览器访问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

启动完成swap分区后,重新打开gitlab的web页面就不会出现502了,访问速度也会快很多

交流QQ群:779429633

Linux学习17-gitlab访问慢502问题优化的更多相关文章

  1. linux学习17 运维核心技能-Linux系统下用户权限管理

    一.权限管理 1.ls -l rwxrwxrwx 左三位:定义user(owner)的权限 中三位:定义group的权限 右三位:定义other的权限 1.进程安全上下文 a.进程对文件的访问权限应用 ...

  2. Linux学习16-CentOS安装gitlab环境

    前言 在学习Gitlab的环境搭建之前,首先需要了解Git,Gitlab,GitHub他们三者之间的关系 Git 它是一个源代码版本控制系统,可让您在本地跟踪更改并从远程资源推送或提取更改. GitH ...

  3. 2019/4/17 Linux学习

    一.Linux的文件系统 其中/prov./srv./sys 文件为文件系统,技术不过硬不要去修改:二.关于Xshell.Xft1.服务器的端口可有65535个可设置,开的越多安全性越差:2.远程登录 ...

  4. Linux学习笔记之兄弟连

    systemctl --user enable pulseaudio说明:安装完成后系统没有声音,用该命令可以打开.ifconfig eth0 192.168.118.1说明:给网卡设置IP地址.ap ...

  5. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  6. Linux学习历程(持续更新整理中)

    1.文件目录操作命令 (1) ls   显示文件和目录列表 a ls -l  显示文件的详细信息 b ls -a 列出当前目录的所有文件,包含隐藏文件. c stat '目录/文件'   显示指定目录 ...

  7. linux学习心得之目录树开端与/etc(图文)

    linux学习心得之目录树开端与/etc(图文) linux中“一切皆文件”,学习linux一年了,在学习过程中对目录树的一点心得,分享给大家,有不对的地方敬请斧正. 不多说了,先上图: 根目录: / ...

  8. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

  9. Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念

    Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...

随机推荐

  1. goodrain云平台 mysql主从同步应用创建

    mysql 主从同步原理 1)在Slave 服务器上执行sart slave命令开启主从复制开关,开始进行主从复制. 2)此时,Slave服务器的IO线程会通过在master上已经授权的复制用户权限请 ...

  2. Java ListIterator(迭代器)

    LIstIterator是一个更加强大的Iterator的子类型,它只能用于各种List类的访问,尽管Iterator只能向前移动,但是ListIterator可以双向移动,它还可以产生相对于迭代器在 ...

  3. 通过微信Android和iOS版,看两大系统的差异

    由于设计师或者产品经理使用的移动设备大部分是iPhone,所以在做设计时,容易忽略Android和iOS的差异,按照自己的使用习惯进行设计,导致大部分设计师或产品经理做出的设计都是基于iOS规范或习惯 ...

  4. [转] React 最佳实践——那些 React 没告诉你但很重要的事

    前言:对很多 react 新手来说,网上能找到的资源大都是些简单的 tutorial ,它们能教会你如何使用 react ,但并不会告诉你怎么在实际项目中优雅的组织和编写 react 代码.用谷歌搜中 ...

  5. P1020 导弹拦截 dp 树状数组维护最长升序列

    题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...

  6. ctrl+c ctrl+d ctrl+z 的区别和使用场景

    三者的区别 Ctrl+C :强制中断程序,程序无论运行哪里都停止. Ctrl+D :发送一个 exit 的信号,退出当前的用户或者是客户端. Ctrl+Z :暂停程序,在进程中维持挂起状态. 引用别人 ...

  7. 009.Zabbix幻灯片展示

    一 Slide shows简介 Slide shows在多个Screens之间以幻灯片的方式来展示,使一个屏幕可以显示多个页面. 二 Slide shows配置 2.1 创建多个Screen Slid ...

  8. JdbcTemplate使用小结

    org.springframework.jdbc.core.JdbcTemplate.query(String sql, Object[] args, RowMapper<StaffUnionV ...

  9. Activity-Flag标志位

    Activity-Flag标志位 学习自 <Android开发艺术探索> 标志位漫谈 var intent: Intent = Intent(this, Test2Activity::cl ...

  10. [BZOJ3757]苹果树(树上莫队)

    树上莫队共有三种写法: 1.按DFS序列分块,和普通莫队类似.常数大,不会被卡. 2.按块状树的方式分块.常数小,会被菊花图卡到O(n). 3.按[BZOJ1086]王室联邦的方式分块.常数小,不会被 ...