23.5 Swap 交换分区的设置
如果在安装系统的时候并未设置 swap 即交换分区,那么只能通过 dd 生成一个交换分区文件或 ZFS 卷来实现了。因为无论是 UFS 还是 ZFS 都是不支持缩小文件系统分区的。
警告
本节操作可能会影响到崩溃转储。
传统的 dd 单个文件
dd 一个 大小为 8GB 的 swap 文件(1G=1024MB,要更多就做个计算题):
# dd if=/dev/zero of=/usr/swap0 bs=1M count=8192
8192+0 records in
8192+0 records out
8589934592 bytes transferred in 3.959893 secs (2169234270 bytes/sec)
要显示命令进度可以使用选项 status=progress
# dd if=/dev/zero of=/usr/swap0 bs=1M count=8192 status=progress
8416919552 bytes (8417 MB, 8027 MiB) transferred 4.011s, 2098 MB/s # 此处是实时刷新的
8192+0 records in
8192+0 records out
8589934592 bytes transferred in 4.071005 secs (2110028088 bytes/sec)
设置权限为 600,即只有拥有者有读写权限。
# chmod 0600 /usr/swap0
如果要立即使用:
# mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0
为了重启后仍然有效,还需要往 /etc/rc.conf
中加入
swapfile="/usr/swap0"
使用 ZFS 卷充当 swap
# zfs create -V 8G zroot/swap
# swapon /dev/zvol/zroot/swap
以上,参数 -V
创建 zfs 卷而不是 zfs 文件系统。zfs 默认的名字就是 zroot
。
写入 /etc/fstab
开机时自动挂载:
/dev/zvol/zroot/swap none swap sw
写入后用命令 mount -al
检查一下,无错误输出才可。
查看 swap 用量
root@ykla:~ # swapinfo -h
Device Size Used Avail Capacity
/dev/nda0p3 2.0G 0B 2.0G 0%
可以看到,/dev/nda0p3
是交换分区,大小为 2G,已用 0。
最后更新于