Fork me on GitHub

Linux增加swap文件

 

起因

在阿里云搞了台ECS,但是内存就1个G,操作总是悲剧的卡卡卡,于是就想着增加一点交换文件来缓解一下。

image

 

快速添加交换文件

step 1. 生成文件

先填充一个大文件,等会儿当做交换文件用:

1
dd if=/dev/zero of=/var/swap bs=1024 count=4096000

这里会稍微卡上一会儿,是dd在填充文件。

 

step 2. 格式化交换文件

将文件格式化为交换文件:

1
mkswap /var/swap

image

 

step 3. 加载交换文件

加载这个交换文件:

1
swapon /var/swap

image

同时将其设置为每次开机就挂载,在/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,不然很可能一不小心就把系统搞挂了…

查看内存,交换文件被使用,说明交换文件已经加载成功了:

 image

 

相关命令详解

mkswap

用于将一个文件或分区格式化为交换文件格式。

 

swapon

查看当前加载的交换文件信息:

1
swapon -s

 image

等价于:

1
cat /proc/swaps

 

swapoff

使用swapoff来卸载已经挂载的交换文件,卸载的同时将/etc/fstab中对应的挂载项删除。

1
swapoff /var/swap

 

 

.

posted @   CC11001100  阅读(6556)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示