swap空间不足问题解决
第一步:使用free -m查看目前swap的交换空间情况,1019M,也可以使用grep SwapTotal /proc/meminfo查看
[root@localhost swapimage]# free -m
total used free shared buffers cached
Mem: 1010 995 15 0 1 847
-/+ buffers/cache: 145 865
Swap: 1019 0 1019
用df –h查看磁盘空间的使用情况
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 40G 4G 36G 10% /
/dev/sda3 15G 1.7G 13G 13% /home
/dev/sda1 46M 11M 33M 25% /boot
tmpfs 506M 0 506M 0% /dev/shm
第二步:确保系统中有足够的空间用来做swap交换空间,经过df –h查看。
第三步:使用mkswap命令,创建(或设置)交换空间,将文件格式化为swap文件格式
[root@localhost swapimage]# mkswap /tmp/swap2
这样修改后SWAP就增加了25G,使用free –m确认新增的swap交换空间已生效
第五步:修改/etc/fstab文件,使新增的25G交换空间在系统重启后自动生效
[root@localhost swapimage]# vi /etc/fstab
/tmp/swap2 swap swap defaults 0 0
[root@localhost swapimage]# free -m
total used free shared buffers cached
Mem: 1010 995 15 0 1 847
-/+ buffers/cache: 145 865
Swap: 1019 0 1019
用df –h查看磁盘空间的使用情况
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 40G 4G 36G 10% /
/dev/sda3 15G 1.7G 13G 13% /home
/dev/sda1 46M 11M 33M 25% /boot
tmpfs 506M 0 506M 0% /dev/shm
第二步:确保系统中有足够的空间用来做swap交换空间,经过df –h查看。
# dd if=/dev/zero of=/tmp/swap2 bs=32k count=819200 -----(32*819200= 26214400(KB),亦等于25600MB)
执行上述命令后,会在/tmp目录中创建一个25600MB的swap2文件,再次用df –h查看磁盘空间的使用情况,/home的可以大小已经由1G变成38G了,也就是说通过上面的dd操作,我们已经成功的分配了25G的swap交换空间)
第三步:使用mkswap命令,创建(或设置)交换空间,将文件格式化为swap文件格式
[root@localhost swapimage]# mkswap /tmp/swap2
第四步:使用swapon命令,启用新增的25G交换空间
[root@localhost swapimage]# swapon /tmp/swap2这样修改后SWAP就增加了25G,使用free –m确认新增的swap交换空间已生效
检查swap
命令代码
#swapon -s
第五步:修改/etc/fstab文件,使新增的25G交换空间在系统重启后自动生效
[root@localhost swapimage]# vi /etc/fstab
/tmp/swap2 swap swap defaults 0 0
删除SWAP分区:
1) swapoff /tmp/swap2;
2) 修改/etc/fstab文件
那么swap分区到底设置成多大才最优?
首先看下Redhat官方的文档中关于swap分区大小设置的建议
物理内存 建议的交换空间大小 如果开启休眠功能建议的交换空间大小
⩽ 2GB 内存的2倍 内存的3倍
> 2GB – 8GB 等于内存大小 内存的2倍
> 8GB – 64GB 至少4G 内存的1.5倍
> 64GB 至少4G 不建议使用休眠
因此,一般来说可以按照如下规则设置swap大小:
4G以内的物理内存,SWAP 设置为内存的2倍,不超过4G。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。
64-256G物理内存,SWAP 设置为16G。
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。
物理内存 建议的交换空间大小 如果开启休眠功能建议的交换空间大小
⩽ 2GB 内存的2倍 内存的3倍
> 2GB – 8GB 等于内存大小 内存的2倍
> 8GB – 64GB 至少4G 内存的1.5倍
> 64GB 至少4G 不建议使用休眠
因此,一般来说可以按照如下规则设置swap大小:
4G以内的物理内存,SWAP 设置为内存的2倍,不超过4G。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。
64-256G物理内存,SWAP 设置为16G。
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报