Linux增加swap文件
起因
在阿里云搞了台ECS,但是内存就1个G,操作总是悲剧的卡卡卡,于是就想着增加一点交换文件来缓解一下。
快速添加交换文件
step 1. 生成文件
先填充一个大文件,等会儿当做交换文件用:
1
|
dd if=/dev/zero of=/var/swap bs=1024 count=4096000 |
这里会稍微卡上一会儿,是dd在填充文件。
step 2. 格式化交换文件
将文件格式化为交换文件:
1
|
mkswap /var/swap |
step 3. 加载交换文件
加载这个交换文件:
1
|
swapon /var/swap |
同时将其设置为每次开机就挂载,在/etc/fstab追加一行:
1
|
/var/swap swap swap defaults 0 0 |
step 4. 测试是否加载成功
搞一个吃内存的小脚本执行一下来测试是否使用到的交换文件:
1
2
3
4
5
6
7
8
|
#!/bin/bash mkdir /tmp/memory mount -t tmpfs -o size=1024M tmpfs /tmp/memory dd if = /dev/zero of= /tmp/memory/block sleep 3600 rm /tmp/memory/block umount /tmp/memory rmdir /tmp/memory |
根据自己的情况调整size=1024M,不然很可能一不小心就把系统搞挂了…
查看内存,交换文件被使用,说明交换文件已经加载成功了:
相关命令详解
mkswap
用于将一个文件或分区格式化为交换文件格式。
swapon
查看当前加载的交换文件信息:
1
|
swapon -s |
等价于:
1
|
cat /proc/swaps |
swapoff
使用swapoff来卸载已经挂载的交换文件,卸载的同时将/etc/fstab中对应的挂载项删除。
1
|
swapoff /var/swap |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?