Linux下创建、销毁、使用 SWAP(转)
创建swap文件方法
1 | dd if = /dev/zero of= /swap_file bs=1024 count=4096000 (count的值等于1024 x 你想要的文件大小, 4096000是4G) |
1 | mkswap /swap_file |
1 | swapon /swap_file |
1 | /swap_file swap swap defaults 0 0 |
1 2 3 4 | [root@ /] # free -h total used free shared buff /cache available Mem: 3.7G 735M 146M 16M 2.8G 2.7G Swap: 3.9G 0B 3.9G |
详细方法
swap交换分区一般只在xen VPS有这种功能,openvz则 没有。swap交换分区可以增加一定量的内存使用,但增加swap分区的最重要的作用是防止网站流量突然增大而导致系统分配内存不够用而死机。如果你的 VPS长期处理使用swap的状态下,建议你检查下程序或VPS,或者升级更大的内存的VPS,因为使用swap交换分区,会使服务器的性能降低很多,导 致访问速度变慢。下面我们来看看如何增加swap交换分区。
1、以root权限登录SSH,键入如下命令创建512M的swap文件(1024 * 512MB = 524288).
1 | dd if = /dev/zero of= /swapfile1 bs=1024 count=524288 |
2、创建Linux交换文件
1 | mkswap /swapfile1 |
3、立即激活 /swapfile1交换文件
1 | swapon /swapfile1 |
4、设置系统自激活交换文件。编辑 /etc/fstab文件,并增加如下第二行代码。
1 2 | vi /etc/fstab /swapfile1 swap swap defaults 0 0 |
5、使用free -m查看swap大小。
一、增加Swap区
1、使用命令查看系统的内存大小
1 | free -m |
可以看出内存大小为503(装的时候配置是512的),swap都为0。
2、增加swap分区
使用dd命令创建一个swap分区
1 | dd if = /dev/zero of= /home/swap bs=1024 count=1024000 |
这样就建立一个/home/swap的分区文件,大小为1G,再用swapon命令把这个文件分区变成swap分区
1 | /sbin/swapon /home/swap |
再用free -m查看一下,可以看出swap有大小了。
这样还没完成,因为reboot重启系统后,swap分区又变成0了。
为防止重启后swap分区变成0,要修改/etc/fstab文件
1 | vi /etc/fstab |
在文件末尾加上
1 | /swap_file swap swap defaults 0 0 |
这样就算重启系统,swap分区还是有值。
二、删除swap分区
1、先停止swap分区
1 | /sbin/swapoff /home/swap |
2、删除swap分区文件
1 | rm -rf /home/swap |
3、修改/etc/fstab文件,把/home/swap swap swap default 0 0 这行删除。
这样就能把手动增加的分区删除了。
PS:1、增加删除swap的操作只能使用root用户来操作。
2、装系统时分配的swap分区貌似删除不了。
3、swap分区一般为内存的2倍,但最大不超过2G
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构