Linux 添加交换空间

swap简称交换空间,它占用的是磁盘的空间,Linux内核会将非活动页面会从内存RAM移动到交换空间

交换空间swap可以采用专用交换分区或交换文件的形式创建。通常,在虚拟机运行Linux时,不存在交换分区,唯一的选择是创建交换文件。

一、查看系统的交换空间

三种都可以

free -h

swapon -s

cat /proc/swaps

alt

二、创建交换空间文件

  • 交换分区大小的设置建议值:

    内存小于 4GB 时,推荐不少于 2GB 的 swap 空间

    内存 4GB~16GB,推荐不少于 4GB 的 swap 空间

    内存 16GB~64GB,推荐不少于 8GB 的 swap 空间

    内存 64GB~256GB,推荐不少于 16GB 的 swap 空间

2.1 创建 20GB 大小的交换空间文件

创建一个指定大小文件的方式在Linux 中有两种,分别fallocatedd命令。

以下fallocatedd命令将会在你的Linux 根目录中创建交换空间文件/swapfile,大小是20G。

#
fallocate -l 20G /swapfile


#建议使用这个,上面的分区挂载有问题
#bs 字节为单位的块大小
#count 被复制的块数
dd if=/dev/zero of=/swapfile bs=1024 count=20971520

dd if=/dev/zero of=/swapfile bs=1MB count=20480

dd if=/dev/zero of=/swapfile bs=1G count=20

alt

alt

2.2 验证交换文件大小

du -sh /swapfile

alt

2.3 改变文件的用户、组以及权限

默认交换空间文件的权限只有root用户才能写入和读取交换文件的数据。因此我们需要修改交换空间文件的权限为600

chown root:root /swapfile

chmod 600 /swapfile

alt

2.4 格式化文件为swap文件系统

mkswap -L swap /swapfile

alt

三、启用交换空间

当你格式化完成后,为了让系统识别交换空间文件,因此还需要手动启用交换空间文件。

3.1 挂载交换分区

在Linux 中你可以使用swapon命令启用交换空间文件,它将会在自动挂载到系统中。

#挂载交换分区
sudo swapon /swapfile

#卸载交换分区
swapoff /swapfile

alt

swaponswapoff 命令分别用于开启或关闭交换空间(包括交换文件和交换分区)。如果需要 清空交换空间,可以使用如下方式:

# -a 参数表示包含 /etc/fstab 文件中所有设置为 swap 的设备

swapoff -a 

swapon -a

3.2 再次查看swap空间大小

alt

3.3 开机启动时自动挂载

swapon命令启用交换空间仅当前会话可用,重启后将不会自动挂载。为了让交换空间永久启用,并在开机启动时自动挂载,需要在/etc/fstab文件中定义挂载配置选项

/etc/fstab文件存储着文件系统的静态挂载信息,可用于定义磁盘分区,各种其他块设备或远程文件系统,告知Linux内核如何在挂载这些设备文件。

#添加挂在信息
echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab

#显示交换空间信息
swapon --show

#重启虚拟机
reboot

free -h

alt

Linux 文章被收录于专栏

Linux

全部评论

相关推荐

03-10 14:19
已编辑
重庆邮电大学 前端工程师
球Offer上岸👑:测试也难求一面 逆天
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务