Centos 系统swap(虚拟内存)管理
转自 http://blog.csdn.net/lengyue1084/article/details/51405640
在原文的基础上修改和优化
SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的。它类似于Windows中的虚拟内存。在Windows中,只可以使用文件来当作虚拟内存。而linux可以文件或者分区来当作虚拟内存。
首先查看当前的内存和swap 空间大小(默认单位为k, -m 单位为M):
# free -m
此处可以看到总内存是503M,SWAP不存在。
查看swap信息,包括文件和分区的详细信息
# swapon -s
或者
# cat /proc/swaps
如果都没有,我们就需要手动添加交换分区。注意,OPENVZ架构的VPS是不支持手动添加交换分区的。
添加交换空间有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用, 则添加交换文件。
一、增加swap交换文件
1、使用dd命令创建一个swap交换文件
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
这样就建立一个/home/swap的分区文件,大小为1G,可以自行倍增。
2、制作为swap格式文件:
mkswap /home/swap
3、再用swapon命令把这个文件分区挂载swap分区
swapon /home/swap
我们用free -m命令看一下,发现已经有交换分区了。
但是重启系统后,swap分区又变成0了。
4、为防止重启后swap分区变成0,要修改/etc/fstab文件
vi /etc/fstab
在文件末尾(最后一行)加上
/home/swap swap swap default 0 0
这样就算重启系统,swap分区还是有值。
删除swap交换文件
1、先停止swap分区
swapoff /home/swap
2、删除swap分区文件
rm -rf /home/swap
3、删除自动挂载配置命令
vi /etc/fstab
这行删除
/home/swap swap swap default 0 0
这样就能把手动增加的交换文件删除了。
注意:
1、增加删除swap的操作只能使用root用户来操作。
2、装系统时分配的swap分区貌似删除不了。
3、swap分区一般为内存的2倍,但最大不超过2G
二、使用分区来做SWAP(虚拟内存).
1 使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)
2 使用 mkswap 命令来设置交换分区:
# mkswap /dev/sdb2
3 启用交换分区:
# swapon /dev/sdb2
4 写入/etc/fstab,以便在引导时启用:
/dev/sdb2 swap swap defaults 0 0
删除交换分区
步骤如下:
1、先停止swap分区
swapoff /dev/sdb2
2、删除自动挂载配置命令
vi /etc/fstab
这行删除
/dev/sdb2 swap swap defaults 0 0
这样就能把手动增加的交换分区删除了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!