Ubuntu服务器开启swap虚拟内存、gitlab装载在阿里云Ubuntu服务器上卡 - Mr_li13的博客

CSDN博客 · · 3643 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

原文 :https://blog.csdn.net/Mr_li13/article/details/79209147

一核CPU、2G内存、1M带宽、40GB系统盘

(1).一种是直接从磁盘中分出来一块用来当做swap分区,然后格式化为swap格式

(2)另一种方式就是创建一个文件,然后将这块文件格式化为swap格式

解决办法,启用swap(虚拟内存分页)分区,采用swap文件的方式,步骤如下: 

1.cat /proc/swaps查看swap分区是否启动(无) :如下说明没开启swap

  1. root@iZwz9fhjcx8r4p3u85qxgnZ:~# cat /proc/swaps
  2. Filename Type Size Used Priority
  3. root@iZwz9fhjcx8r4p3u85qxgnZ:~# cat /proc/swaps
  4. Filename Type Size Used Priority

2.创建 :

sudo dd if=/dev/zero of=swaps bs=512 count=8388616

注:创建swap大小为bs*count=4294971392(4G);swaps这个文件就是swap文件我是建在当前自定义的目录下的

  1. root@iZwz9fhjcx8r4p3u85qxgnZ:/swaps# sudo dd if=/dev/zero of=swaps bs=512 count=8388616
  2. A8388616+0 records in
  3. 8388616+0 records out
  4. 4294971392 bytes (4.3 GB, 4.0 GiB) copied, 71.5142 s, 60.1 MB/s

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

    mkswap swaps

  1. root@iZwz9fhjcx8r4p3u85qxgnZ:/swaps# sudo mkswap -f swaps
  2. Setting up swapspace version 1, size = 4 GiB (4294967296 bytes)
  3. no label, UUID=f28beb1f-b946-4e36-b532-f160369d0eec

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

查看: cat /proc/sys/vm/swappiness

  1. root@iZwz9fhjcx8r4p3u85qxgnZ:/swaps# cat /proc/sys/vm/swappiness
  2. 0

设置: sysctl -w vm.swappiness=60(个人建议还是永久修改好:表示100%-60%=40%物理内存时启用虚拟内存)

  1. root@iZwz9fhjcx8r4p3u85qxgnZ:/swaps# sysctl -w vm.swappiness=60
  2. vm.swappiness = 60

若想永久修改,则编辑/etc/sysctl.conf文件,改文件中有vm.swappiness变量配置,默认为0

5.启用分区

sudo swapon /data/swap

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

  1. root@iZwz9fhjcx8r4p3u85qxgnZ:/# swapon /swaps/swaps
  2. swapon: /swaps/swaps: insecure permissions 0644, 0600 suggested.

修改/etc/fstab文件,使系统启动时自动加载此交换分区。

输入:

sudo vim /etc/fstab

添加如下行:

/swap/swapfile  swap      swap    defaults   0       0

或者编辑 /etc/rc.local 文件(此文件有可能写入 swapon -a 导致重启后失效,即使/etc/fstab中写入挂载)

加入:swapon swapfile-path

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

  1. <span style="font-family:'Microsoft YaHei';font-size:18px;">root@iZwz9fhjcx8r4p3u85qxgnZ:/# free -m
  2. total used free shared buff/cache available
  3. Mem: 2000 37 75 2 1887 1777
  4. Swap: 4096 0 4096
  5. </span>

 

这个时候是不是有swap数据了,说明swap虚拟内存已经开启了。

 

7.重启查看swaps虚拟内存是否自动挂载成功

重新启动系统,并查看交换分区的大小。查看交换分区大小,至少有2种方法:

(1)cat /proc/swaps

(2)依次选择菜单:系统->系统管理->系统监视器。在“资源”选项卡的“内存和交换历史”中有“交换”一项显示了总交换分区的大小。

  1. root@iZwz9fhjcx8r4p3u85qxgnZ:~# sudo cat /proc/swaps
  2. Filename Type Size Used Priority
  3. /data/swap file 4194304 0 -1

看到这个表示即成功

 

番外:

cat /proc/swaps  查看虚拟内存

cat——串联文档做基本输出

cat /proc/cpuinfo 显示CPU info的信息 

cat /proc/interrupts 显示中断 

cat /proc/meminfo 校验内存使用 

cat /proc/swaps 显示哪些swap被使用 

cat /proc/version 显示内核的版本 

cat /proc/net/dev 显示网络适配器及统计 

cat /proc/mounts 显示已加载的文件系统

cd /proc 转到该目录

ls -l       查看文件

注:/proc 是运行时的虚拟目录

3643 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传