【ubuntu】增加swap容量

一、背景

当在编译大型工程或者运行大型应用时,如果内存大小不足,就会失败,此时可以通过设置swap空间来缓解一下问题,一定程度上解决问题

二、swappiness

swappiness是Linux内核的一个属性,其值代表了将运行内存数据交换到交换空间的策略,其值的范围为[0,100]

复制代码
# cat /proc/sys/vm/swappiness 
60

|---------|------------------------------------|
| val | desc |
| 60 | 表示内存使用率超过1-60%=40%时,开始使用交换分区 |
| 0 | 表示最大程度使用物理内存 |
| 100 | 表示最大程度使用swap分区,并及时将内存上的数据搬移到swap空间 |

复制代码
#临时调整
sudo sysctl vm.swappiness = 10 

#永久调整
sudo vim /etc/sysctl.conf

# 在末尾加上
# vm.swappiness=10

三、设置交换空间

1、移动交换分区内容

将现有swap移动到主内存,可能需要几分钟

复制代码
sudo swapoff -a

执行前后可以用free命令查看到变化

复制代码
# free -m
              total        used        free      shared  buff/cache   available
Mem:          31888        1132       29372         256        1383       30096
Swap:          2047           0        2047

# sudo swapoff -a

# free -m
              total        used        free      shared  buff/cache   available
Mem:          31888        1209       29259         263        1419       30012
Swap:             0           0           0

2、创建交换目录

复制代码
# sudo mkdir /swap_local
# cd /swap_local

3、添加交换文件

例如设置6G交换空间,注意bs段应小于物理内存大小,否则可能会报错

复制代码
# sudo dd if=/dev/zero of=swapfile bs=1G count=6
# sudo chmod 0600 ~/swap_local/swapfile 

4、激活交换空间

复制代码
# sudo mkswap swapfile
Setting up swapspace version 1, size = 6 GiB (6442446848 bytes)
no label, UUID=95ad1967-7df3-4c88-b2fd-b61db692b726

# sudo swapon ~/swap_local/swapfile
# free -m
              total        used        free      shared  buff/cache   available
Mem:          31888        1211       22929         270        7747       29953
Swap:          6143           0        6143

5、设置永久生效

复制代码
# sudo gedit /etc/fstab
# ~/swap_local/swapfile swap swap sw 0 0

【参考博客】

1\] [Linux 扩大swap的方法和配置使用交换分区的策略 - 新动弹计划](https://d.cellmean.com/p/9d55b65d4941 "Linux 扩大swap的方法和配置使用交换分区的策略 - 新动弹计划") \[2\] [【经验分享】Ubuntu如何设置swap交换_ubuntu swap-CSDN博客](https://blog.csdn.net/weixin_44904205/article/details/134529267 "【经验分享】Ubuntu如何设置swap交换_ubuntu swap-CSDN博客") \[3\] [ubuntu扩大/增加swap - 知乎](https://zhuanlan.zhihu.com/p/480903179 "ubuntu扩大/增加swap - 知乎")

相关推荐
0wioiw023 分钟前
Ubuntu基础(监控重启和查找程序)
linux·服务器·ubuntu
Tipriest_27 分钟前
Ubuntu常用的软件格式deb, rpm, dmg, AppImage等打包及使用方法
linux·运维·ubuntu
GBXLUO40 分钟前
windows的vscode无法通过ssh连接ubuntu的解决办法
vscode·ubuntu
笑衬人心。3 小时前
Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记
笔记·python·ubuntu
物联网老王12 小时前
Ubuntu Linux Cursor 安装与使用一
linux·运维·ubuntu
fangeqin21 小时前
ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法
linux·python·ubuntu·openssl
风口上的吱吱鼠1 天前
Armbian 25.5.1 Noble Gnome 开启远程桌面功能
服务器·ubuntu·armbian
笑衬人心。1 天前
Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
linux·mysql·ubuntu
生如夏花℡1 天前
HarmonyOS学习记录3
学习·ubuntu·harmonyos
星宸追风1 天前
Ubuntu更换Home目录所在硬盘的过程
linux·运维·ubuntu