释放双眼,带上耳机,听听看~!
🤖 由 ChatGPT 生成的文章摘要
Linux中的Swap交换分区实际上就是windows中的虚拟内存,当服务器内存不够时,会使用swap分区内存。来缓解内存不够的情况
在云服务器的场景下,云厂商为我们提供的服务器基本上都是没有swap分区的
创建Swap分区
swap分区使用的是本地硬盘,将硬盘的容量充当内存使用。当物理内存比较大时,资源不够。那么swap分区也需要设置大一点,方便缓解内存压力
查看当前swap分区
[root@ops ~]# free -mh
total used free shared buff/cache available
Mem: 15G 3.4G 10G 16M 1.6G 11G
Swap: 0B 0B 0B
关闭swap分区
#在某些场景下,开启swap分区会影响服务正常运行,可以通过下面命令关闭
#临时关闭
swapoff -a
#永久关闭
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
创建swap分区
前面说了swap分区实际上还是使用 本地硬盘,所以我们创建的时候文件大小还是基于本地硬盘
linux 一切皆文件
[root@ops ~]# dd if=/dev/zero of=/opt/swapfile bs=1M count=8096
8096+0 records in
8096+0 records out
8489271296 bytes (8.5 GB) copied, 203.405 s, 41.7 MB/s
#这里我们通过dd命令,在/opt/下生成8g的swapfile文件
#bs为文件大小
#count 文件个数
接下来我们给/opt/swapfile
格式修改为swap可读写格式
[root@ops ~]# ls -lh /opt/swapfile
-rw-r--r-- 1 root root 8.0G May 17 18:02 /opt/swapfile
#通过mkswap格式化文件
[root@ops ~]# mkswap /opt/swapfile
Setting up swapspace version 1, size = 8290300 KiB
no label, UUID=bdef23e2-0b8f-4bbb-85f7-67487b336525
#后面接上刚刚生成的文件就可以
挂载swap分区
#这步骤实际上和硬盘初始化挂载步骤大部分相同
[root@ops ~]# swapon /opt/swapfile
swapon: /opt/swapfile: insecure permissions 0644, 0600 suggested.
[root@ops ~]#
[root@ops ~]# free -mh
total used free shared buff/cache available
Mem: 15G 3.1G 2.6G 16M 9.8G 11G
Swap: 7.9G 0B 7.9G
设置开机启动
[root@ops ~]# echo "/opt/swapfile swap swap default 0 0" >>/etc/fstab
#查看追加文件
[root@ops ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Dec 16 21:18:04 2021
#
# 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
#
UUID=2ca29691-58cc-49a2-81df-2f48c0a6c660 / xfs defaults 0 0
UUID=5745e5f0-aac7-4df1-9939-5e150b0c9421 /boot xfs defaults 0 0
/opt/swapfile swap swap default 0 0
删除SWAP分区
很多时候swap分区可能是我们临时使用一下,测试项目后面就需要停止了。那么如何把挂载的swap分区关闭呢
停止使用swap分区
[root@ops ~]# swapoff /opt/swapfile
[root@ops ~]# free -mh
total used free shared buff/cache available
Mem: 15G 3.1G 2.6G 16M 9.8G 11G
Swap: 0B 0B 0B
删除swap分区文件
[root@ops ~]# rm -rf /opt/swapfile
删除/etc/fstab
中swap设置
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab