我在一台机器上安装了 Solaris 10 05/09,在构建机器时使用了默认的交换空间设置。现在我需要增加交换空间,但无法添加交换文件,而这在 UFS 下是可以做到的。如何增加 ZFS 驱动器上的交换空间?
答案1
如果您的交换设备正在使用中,则可能无法删除它。检查交换区域是否正在使用中。例如:
$ swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 182,2 8 4194296 4194296
在上面的输出中,blocks == free,因此交换设备实际上并未被使用。
如果交换区域未使用,请删除交换区域。例如:
$ swap -d /dev/zvol/dsk/rpool/swap
确认交换区域已被删除。
$ swap -l
No swap devices configured
调整交换卷的大小。例如:
$ zfs set volsize=1G rpool/swap
还必须确保引用的交换从池中保留,否则在交换时可能没有足够的内存:
$ zfs set refreservation=1G rpool/swap
激活交换区域。
$ swap -a /dev/zvol/dsk/rpool/swap
$ swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 182,2 8 2097144 2097144
更多信息请访问:ZFS 故障排除指南
答案2
如果您的交换处于活跃状态,您可以添加额外的交换量。
zfs 创建 -V 10G rpool/swap2
交换 -a /dev/zvol/dsk/rpool/swap2