Linux SWAP 空间大小配置

Linux SWAP 空间大小配置

Gelomen Lv3

用了瓦工的鸡鸡内存有点小, 只有 512M, 而自动生成的交换空间 SWAP 也只有 132M, 跑 MySQL 很容易挂, 所以需要增大 SWAP 空间

环境

系统: Ubuntu 20.04 LTS

配置 SWAP

查看内存和交换空间大小, 使用 free 确认当前是否有交换空间并查看大小, -m 代表以 M 为单位, -h 代表以 G 为单位

1
2
3
4
free -m
total used free shared buff/cache available
Mem: 493 130 82 2 280 340
Swap: 132 0 132

新建交换空间文件

默认 SWAP 文件在系统根目录下, 我们可以直接创建新的文件

  • of 参数是交换空间文件的路径和名字, 这里依然放在系统根目录, 但为了名字不与原来但 SWAP 冲突, 则命名为 SWAPFILE
  • bs 参数是块大小, 这里是每块 1M
  • count 参数是总共块的数量, 这里设置 2048 块, 所以新建的交换空间大小为:1M × 2048 = 2G
1
sudo dd if=/dev/zero of=/swapfile  bs=1M count=2048

格式化交换空间

1
sudo mkswap /swapfile

启用交换空间文件

1
sudo swapon /swapfile

此时可以查看是否生效

1
2
3
4
free -m
total used free shared buff/cache available
Mem: 493 124 81 2 286 346
Swap: 2048 0 2048

添加开机启动

如果不添加开机启动, 则在下次重启机器后会自动被清除, 修改 fstab 文件

1
sudo vi /etc/fstab

删除里面 /swap 开头的那一行, 并添加一行

fstab
1
2
- /swap swap swap defaults 0 0
+ /swapfile swap swap defaults 0 0

保存并重启

1
sudo reboot

验证

重启成功后, 进入服务器查看当前交换空间大小

1
2
3
4
free -m
total used free shared buff/cache available
Mem: 493 124 81 2 286 346
Swap: 2047 1 2048

可以看到生效了, 而旧的交换空间文件 /swap 也可以删除了

1
sudo rm /swap
  • 标题: Linux SWAP 空间大小配置
  • 作者: Gelomen
  • 创建于 : 2022-03-07 09:14:06
  • 更新于 : 2022-03-07 09:14:06
  • 链接: https://gelomen.github.io/posts/linux-swap-config/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论