Ubuntu增加Swap空间大小
1.首先用命令free查看系统内 Swap 分区大小
free -m
total used free shared buffers cached
Mem: 2012 1960 51 0 748 950
-/+ buffers/cache: 260 1751
Swap: 255 0 255
可以看到 Swap 只有255M,下面我们来扩大到2G。
sudo swapon --show
交换分区路径
2.创建一个 Swap 文件
找一个空间足够的目录用来存放swap文件
mkdir /swap
cd /swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=2000000
出现下列提示,上面命令中的 count 即代表swap文件大小。
记录了2000000+0 的读入
记录了2000000+0 的写出
2048000000字节(2.0 GB)已复制,63.3147 秒,32.3 MB/秒
把生成的文件转换成 Swap 文件
或者用
sudo fallocate -l 1G /swapfile
执行以下命令为 swapfile 文件设置正确的权限:
sudo chmod 600 /swapfile
sudo mkswap -f /swapfile
Setting up swapspace version 1, size = 1999996 KiB
no label, UUID=fee9ab21-9efb-47c9-80f4-57e48142dd69
速度都很快
3.激活 Swap 文件
sudo swapon /swapfile
再次查看 free -m 的结果。
total used free shared buffers cached
Mem: 2012 1971 41 0 572 1156
-/+ buffers/cache: 241 1770
Swap: 2209 0 2209
添加成功。
要让创建好的 swap 分区永久生效,可以将 swapfile 路径内容写入到 /etc/fstab 文件当中::
/swapfile swap swap defaults 0 0
调整Swappiness值
Swappiness 是一个 Linux 内核属性,用于定义 Linux 系统使用 SWAP 空间的频率。Swappiness 值可以从 0 至 100,较低的值会让内核尽可能少的使用 SWAP 空间,而较高的值将让 Linux Kernel 能够更加积极地使用 SWAP 分区。
Ubuntu 18.04 默认的 Swappiness 值为 60,您可以使用如下命令来查看:
cat /proc/sys/vm/swappiness
值为 60 对于 Ubuntu 18.04 桌面还算行,但对于 Ubuntu Server 来说,SWAP 的使用频率就比较高了,所以您可能需要设置较低的值。例如,要将 swappiness 值设置为 40,请执行:
sudo sysctl vm.swappiness=40
如果要让设置在系统重启后依然有效,则必要在 /etc/sysctl.conf 文件中添加以下内容:
vm.swappiness=40
最佳 swappiness 值取决于您系统的工作负载以及内存的使用方式,您应该以小增量的方式来调整此参数,以查到最佳值。
移除SWAP分区
Ubuntu 18.04 要停用并删除 SWAP 文件,请按照下列步骤操作:
1首先输入以下命令停用 SWAP 空间:
sudo swapoff -v /swapfile
2在 /etc/fstab 文件中删除有效 swap 的行。
3最后执行以下命令删除 swapfile 文件:
sudo rm /swapfile
扩大原有swap交换分区:
需要先移除,然后重新创建添加。
如果添加第二个swap分区,系统反而会变慢。奇怪。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-06-08 微服务下 Spring Boot Maven 工程依赖关系管理
2015-06-08 chroot详解
2015-06-08 windows ubuntu双系统启动