在 USB stick 上面安裝的 FreeBSD, i/o 速度變得非常慢,但 gstat 又看不出來 i/o 本身有特別慢,只是一陣一陣的。重新寫入一遍也沒有改善,看起來並不是 stick 本身的問題。
突然想到,查了一下,16 GB 的空間已經剩下不到 1GB, FS 用量不到 6GB 但 zpool 快要滿載。檢查了一下是 freebsd-update 在更新時會建立 snapshot 以便出事時可以回退,而之前已經升級過幾次。檢查一下 zpool 狀況,果然快滿了。zpool 似乎在快要用完空間時,會有搜尋可用空間非常緩慢的問題。
那麼就來清出空間吧。FreeBSD 在 ZFS 上使用 bectl 來管理開機環境複本,因此用 bectl 來管理即可,不用自行刪除 ZFS snapshot。
刪除了舊的 snapshot 之後,果然 i/o 速度就恢復了。