阿里云增加虚拟内存

1,438次阅读

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** 文件添加如下一句即可 /swap/swapadd swap swap defaults 0 0

三、相关操作

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

正文完
 0