最近上了Redis后非常的吃Swap,内存是128的,Swap在装系统的时候只分了4G,以前没有使用Redis的时候swap完全够用,但现在已不能满足需要,查询资料发现官方推荐的Swap分配:
CentOS建议:
如果RAM小于2GB,就分配和RAM同等大小的Swap交换空间。
如果RAM大于2GB,就分配2GB交换空间
Ubuntu考虑到系统需要休眠:
如果RAM小于1GB,Swap空间至少要和RAM一样大,甚至是要为RAM的两倍大小
如果RAM大于1GB,Swap交换空间应该至少等于RAM大小的平方根,并且最多为RAM大小的两倍
如果要休眠,Swap交换大小应该等于RAM的大小加上RAM大小的平方根
在Red Hat Enterprise Linux中,以下是设置合适的交换分区大小的规则:
物理内存 | 交换分区(SWAP) |
<= 4G | 至少4G |
4~16G | 至少8G |
16G~64G | 至少16G |
64G~256G | 至少32G |
每个厂家给的标准都不一样,看来还是根据自己的实际情况分配更好吧,最初的建议是内存的2倍,OH MY GOD咱可浪费不起256G的磁盘空间,最终我只采用了red hat的意见,还是分配32G吧,应该可以满足我的需求了。
free -h
查看一下现在的SWAP容量是多少。
total used free shared buff/cache available
Mem: 125G 10G 495M 88M 114G 114G
Swap: 4G 4.0G 4G
创建一个/swapfile文件做为swap分区使用,块大小1024,容量32768000kb(约等32G,实际32G=33554432kb,不过哥喜欢整数,哈哈,不服打我呀~)
dd if=/dev/zero of=/swapfile bs=1024 count=32768000
这个文件有32G,按你的磁盘速度可能需要一点时间。。。我的SSD磁盘速度不太快,用了2分多钟。。。。
32768000+0 records in
32768000+0 records out
32768000000 bytes (31 GB) copied, 135.27 s, 134MB/s
查看一下文件情况:
ls -lth / | grep swap
-rw-r--r-- 1 root root 31G Jul 11 09:48 swapfile
执行完毕,对交换文件格式化并转换为swap分区:
mkswap /swapfile
Setting up swapspace version 1, size = 32768000 KiB
no label, UUID=d40f6aad-6764-4dc4-830f-6f676f5c6fd2
挂载并激活分区(将此分区加入Swap):
swapon /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
如果权限不是0600,需要赋权限。
chmod -R 0600 /swapfile
查看一下:
swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 4194300 4184096 -2
/swapfile file 32767996 4824 -3
看下Swap大小:
free -h
total used free shared buff/cache available
Mem: 125G 11G 404M 84M 113G 113G
Swap: 35G 4.0G 31G
设置开机自动挂载该分区:
vi /etc/fstab
在fstab文件末尾追加如下内容后:wq!保存即可:
/swapfile swap swap defaults 0 0
查看一下有没有保存成功:
cat /etc/fstab
# /etc/fstab
# Created by anaconda on Sat Jan 12 03:17:04 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg-root / ext4 discard,noatime 1 1
UUID=****************** /boot ext2 defaults 1 2
/dev/mapper/vg-tmp /tmp ext4 discard,noatime 1 2
/dev/mapper/vg-swap swap swap defaults 0 0
/dev/sdb1 /mnt ext3 defaults 0 0
/swapfile swap swap defaults 0 0
搞定!
除非注明,网络人的文章均为原创,转载请以链接形式标明本文地址:https://www.55mx.com/post/46
《Linux/CentOS7 Swap扩容的方法》的网友评论(0)