网络人 > 服务器技术 > Linux/CentOS7 Swap扩容的方法

Linux/CentOS7 Swap扩容的方法

最近上了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

 搞定!

除非注明,网络人的文章均为原创,转载请以链接形式标明本文地址:http://www.neter8.com/server/46.html

«上一篇:Mysql 5.7以上版本怎么样使用JSON存储数据与查询

《Linux/CentOS7 Swap扩容的方法》的网友评论(0)

感谢打赏!