swap分区学习笔记

1、swap分区的介绍

swap分区的介绍

2、调整swap分区的大小

# 显示系统内存使用情况
free -h
# 关闭swap分区
sudo swapoff -a
# 创建一个新的目录,用于存放新的 swap 文件
sudo mkdir /swap_new
# 创建一个新的 1GB 大小的 swap 文件
sudo dd if=/dev/zero of=/swap_new/swapfile bs=1M count=1024
# 设置文件的权限,以确保只有 root 用户可以访问
sudo chmod 600 /swap_new/swapfile
# 将新创建的文件设置为 swap 分区
sudo mkswap /swap_new/swapfile
# 启用新的 swap 分区
sudo swapon /swap_new/swapfile
# 编辑文件系统表
vim /etc/fstab
# swap 分区设置
# /swap_new/swapfile 是新创建的 swap 文件路径
# none 表示不需要挂载到具体目录
# swap 表示文件系统类型为 swap
# sw 表示启用 swap
# 0 0 表示不需要对该分区进行 dump 备份,也不需要 fsck 文件系统检查
/swap_new/swapfile none swap sw 0 0
# 重启服务器
reboot
# 删除旧的 swap 文件
rm -rf swap

创建1GB的交换的方法:

# 创建一个大小为1GB的文件,用于作为交换空间
fallocate -l 1G /mnt/1gib.swap
# 设置文件权限,只有拥有者可以读写
chmod 600 /mnt/1gib.swap
# 设置文件为交换空间
mkswap /mnt/1gib.swap
# 激活交换空间
swapon /mnt/1gib.swap
# 显示内存和交换空间的使用情况,验证交换空间是否成功激活
free -h

3、swap分区大小的抉择

swap分区大小的选择

4、一键增加swap分区大小为1G

dd if=/dev/zero of=/var/swapfile bs=1M count=1024 \ 
&& chmod 0600 /var/swapfile \ 
&& mkswap /var/swapfile \ 
&& swapon /var/swapfile \ 
&& echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab

命令解释

5、zfs文件系统不推荐创建swap分区。

# 显示磁盘空间的使用情况
df -T

6、查看swap的相关信息

# free -m 命令用于显示系统中的可用和已用内存,其中 -m 标志表示以兆字节为单位显示输出。
free -m

# free -h 命令同样用于显示系统中的可用和已用内存,但 -h 标志表示以“人类可读”的方式显示输出,即使用最合适的单位(KB、MB、GB)显示每个值。
free -h

# swapon --show 命令用于显示交换空间的摘要。
swapon --show

7、

swapon -s
# 这个命令用于显示所有已启用的交换空间的状态。输出结果包含以下几列:

# Filename                                Type            Size    Used    Priority
# /dev/zram0                              partition       262140  0       -2

# Filename: 交换空间的设备名或文件名。
# /dev/zram0 - 这表示交换空间是一个 zram 设备。

# Type: 交换空间的类型。
# partition - 这表明这是一个分区类型的交换空间。对于 zram,通常显示为 'partition'。

# Size: 交换空间的总大小,单位是千字节(KB)。
# 262140 - 表示 zram 设备的大小为 262140KB,约等于 256MB。

# Used: 当前已使用的交换空间大小,单位是千字节(KB)。
# 0 - 表示目前没有使用这个 zram 交换空间。

# Priority: 交换空间的优先级。
# -2 - 这是这个交换空间的优先级。数值越大,优先级越高。此处显示为 -2,表明其优先级较低。