Yuhao
菜且坚
Yuhao的小世界

阿里云服务器启用虚拟内存

今天打开阿里云一看,我这2G的小内存一下干到了1.9G,吓的我赶紧百度,找到了这篇文章,结果还没配置虚拟内存呢,心想要不直接宝塔面板释放一下内存试试吧(反正我这博客也没人看,清缓存不会有啥大影响),清完之后直接降0.8……

不过还是记录一下这篇文章,以后如果有需要的话可以直接配置。

原创地址:http://www.xianzilei.cn/blog/3 (请大家尊重原创哟)

一、问题发现

  • 最近在使用jenkins部署博客项目的时候发现总是失败,失败日志如下
    09:20:23 [my-blog] $ /bin/sh -xe /tmp/jenkins4789431099800043038.sh
    09:20:23 ERROR: Maven JVM terminated unexpectedly with exit code 137
    09:20:23 SSH: Current build result is [FAILURE], not going to run.
    09:20:23 Finished: FAILURE
    
  • Google走起,发现是由于内存不足导致jenkins被强制终止,想起前几天整了个es玩玩,结果那玩意太占用内存了,而我部署博客项目的阿里云服务器内存只有可怜的2G(穷。。。),于是按照大部分网上教程使用虚拟内存来弥补。

二、启用步骤

1.查看服务器是否已经启用了虚拟内存

[root@iz2zehcv8qx0677zmjq8wnz ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        1.5G        106M        512K        182M        136M
Swap:            0B          0B          0B

Mem:表示物理内存统计 Swap: 表示硬盘上交换分区的使用情况,即内存不够时磁盘虚拟出来的内存,速度处理速度跟Mem区不是一个等级

可以看到Swap均为0,确实没有启用。

2.创建swap分区

就是创建一个文件,然后将这块文件格式化为swap格式

2.1 创建swap文件夹

在根目录下创建文件夹swap(阿里云服务器默认没有swap,需要自己手动创建)

[root@iz2zehcv8qx0677zmjq8wnz /]# mkdir /swap

2.2 创建虚拟内存磁盘卷

可以视自己服务器的磁盘大小和需求进行创建,以2G为例

#count=2024288,2G左右
# 默认存放在/swap/swapadd
dd if=/dev/zero of=/swap/swapadd bs=1024 count=2024288

创建时间稍微久一点点,耐心等一下下即可

2.3 启用虚拟内存服务

[root@iz2zehcv8qx0677zmjq8wnz /]# mkswap /swap/swapadd
Setting up swapspace version 1, size = 2024284 KiB
no label, UUID=45ebd39e-f8f6-43c4-9172-3c034c1a7827

2.4 配置swappiness参数

swappiness指的就是启动虚拟内存的最小物理内存使用量,例如vm.swappiness=80,代表物理内存使用到了80%的时候启用虚拟内存,如果不配置默认为0

  • 先使用命令查看当前swappiness参数值
    [root@iz2zehcv8qx0677zmjq8wnz /]# cat /proc/sys/vm/swappiness
    0
    
  • 修改vm.swappiness参数,采用推荐的60配置
    [root@iz2zehcv8qx0677zmjq8wnz /]# sysctl -w vm.swappiness=60
    vm.swappiness = 60
    
  • 如果想要永久修改,则需要修改/etc/sysctl.conf配置文件中的vm.swappiness
    #使用vi命令修改下面参数为60
    vm.swappiness = 60
    

2.5 启用虚拟内存服务

[root@iz2zehcv8qx0677zmjq8wnz /]# swapon /swap/swapadd
swapon: /swap/swapadd: insecure permissions 0644, 0600 suggested.

2.6 再来查看内存使用情况

[root@iz2zehcv8qx0677zmjq8wnz /]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        1.5G         75M        516K        207M        126M
Swap:          1.9G          0B        1.9G

可以看到Swap扩充到了2G左右

2.7 最后添加开机自动挂载

  • 即在**/etc/fstab**文件添加如下一句即可
    /swaps/swaps swap swap defaults 0 0
    

三、相关操作

  • 关闭虚拟内存服务
    swapoff -v /swap/swapadd
    

    这个也需要等一小会会

  • 移动虚拟内存空间如果当前的虚存所在的磁盘空间不够,可以首先关闭虚存服务,将其移动到别的磁盘,再启用即可。
    #依次执行
    swapoff -v /swap/swapadd
    mv /swap/swapadd /mnt/swap
    swapon /swap/swapadd
    

四、总结

以上就是阿里云服务器启用虚拟内存的详细步骤,对于买不起大内存服务器的伙伴和学生党(就是穷。。。)来说,可以说是一种好的方式。如果有错误的地方,也请读者指正。

五、参考

赞赏
版权声明:本文《阿里云服务器启用虚拟内存》为Yuhao原创文章,遵循CC 4.0 BY-SA 版权协议 ,转载请附上原文出处链接和本声明。
本文链接:https://blog.yuhaoo.top/163/

yuhao

文章作者

菜且坚

发表回复

textsms
account_circle
email

Yuhao的小世界

阿里云服务器启用虚拟内存
今天打开阿里云一看,我这2G的小内存一下干到了1.9G,吓的我赶紧百度,找到了这篇文章,结果还没配置虚拟内存呢,心想要不直接宝塔面板释放一下内存试试吧(反正我这博客也没人看,清缓存…
扫描二维码继续阅读
2021-02-23