Linux 添加交换空间
swap简称交换空间,它占用的是磁盘的空间,Linux内核会将非活动页面会从内存RAM移动到交换空间
交换空间swap可以采用专用交换分区或交换文件的形式创建。通常,在虚拟机运行Linux时,不存在交换分区,唯一的选择是创建交换文件。
一、查看系统的交换空间
三种都可以
free -h
swapon -s
cat /proc/swaps
二、创建交换空间文件
-
交换分区大小的设置建议值:
内存小于 4GB 时,推荐不少于 2GB 的 swap 空间
内存 4GB~16GB,推荐不少于 4GB 的 swap 空间
内存 16GB~64GB,推荐不少于 8GB 的 swap 空间
内存 64GB~256GB,推荐不少于 16GB 的 swap 空间
2.1 创建 20GB 大小的交换空间文件
创建一个指定大小文件的方式在Linux 中有两种,分别fallocate
和dd
命令。
以下fallocate
和dd
命令将会在你的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
2.2 验证交换文件大小
du -sh /swapfile
2.3 改变文件的用户、组以及权限
默认交换空间文件的权限只有root用户才能写入和读取交换文件的数据。因此我们需要修改交换空间文件的权限为600
。
chown root:root /swapfile
chmod 600 /swapfile
2.4 格式化文件为swap
文件系统
mkswap -L swap /swapfile
三、启用交换空间
当你格式化完成后,为了让系统识别交换空间文件,因此还需要手动启用交换空间文件。
3.1 挂载交换分区
在Linux 中你可以使用swapon
命令启用交换空间文件,它将会在自动挂载到系统中。
#挂载交换分区
sudo swapon /swapfile
#卸载交换分区
swapoff /swapfile
swapon
与 swapoff
命令分别用于开启或关闭交换空间(包括交换文件和交换分区)。如果需要 清空交换空间,可以使用如下方式:
# -a 参数表示包含 /etc/fstab 文件中所有设置为 swap 的设备
swapoff -a
swapon -a
3.2 再次查看swap空间大小
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
Linux 文章被收录于专栏
Linux