Too young, too simple. Sometimes, naive & stupid

如何修改swap大小

接上集:使用Gparted 实现扩展物理硬盘分区扩容

两台机器内存不一样, 通过模板部署并没有觉得便捷,

mark

mark

先黑一波

swap概念

Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。
众所周知,现代操作系统都实现了“虚拟内存”这一技术,不但在功能上突破了物理内存的限制,使程序可以操纵大于实际物理内存的空间,更重要的是,“虚拟内存”是隔离每个进程的安全保护网,使每个进程都不受其它程序的干扰。

swap大小

这个之前RHEL 给过建议

物理内存 交换分区(SWAP)
<= 4G 至少4G
4~16G 至少8G
16G~64G 至少16G
64G~256G 至少32G

查看swap的大小命令

1
free -m

调整大小

有三种方法可以对Swap分区扩容

扩展正在使用的Swap的逻辑卷

1
2
3
4
5
swapoff -v /dev/mapper/centos-swap    #关闭swap
lvresize -L 8G /dev/mapper/centos-swap # 扩展到8G 根据实际情况 | -l +8G 是增加8G
mkswap /dev/mapper/centos-swap #格式化swap
swapon -va # 启动swap
free -m #查看是否生效

swap路径根据实际情况修改

新建Swap 分区

1
2
lvcreate -n centos-newswap -L 8G  #新建lvm 
mkswap /dev/mapper/centos-newswap #格式化swap

将下面这句写入fstab,注意之前的swap

1
/dev/VolGroup00/LogVol02 swap swap defaults 0 0
1
2
swapon -va # 启动swap (fstab表里指定的swap)
free -m # 验证

新建Swap file

这个方式不是很推荐,比较麻烦,

1
2
3
4
5
dd if=/dev/zero of=/newswap bs=1024 count=8388608 #8G大小的回环文件 ,根据需求修改,
mkswap /newswap # 格式化为swap格式
swapon /newswap # 启用此文件为swap
写入fstab (注意之前使用的swap)
free -m #验证

写入fstab的格式为:

设备文件路径 swap swap default 0 0