Freebsd

swap_pager:無限期等待緩衝區

  • June 21, 2018

ZFS用來接收一些大約 60GB 的數據集:

bzip2 -c -d mail.bz2 | zfs receive -F tank/jails/mail

幾乎在完成之前,我開始多次收到此錯誤:

swap_pager: indefinite wait buffer: bufobj: 0, blkno: 16888849, size:4096
swap_pager: indefinite wait buffer: bufobj: 0, blkno: 16867303 size: 8192
swap_pager: indefinite wait buffer: bufobj: 0, blkno: 16888849, size:4096
swap_pager: indefinite wait buffer: bufobj: 0, blkno: 16889145, size: 12288

不斷的blkno:重複

在嘗試修復它時,我在 ZFS 上添加了一個交換:

zfs create -V 64G -o org.freebsd:swap=on -o checksum=off -o compression=off -o dedup=off -o sync=disabled -o primarycache=none tank/swap

然後啟用它:

# swapon /dev/zvol/tank/swap

的輸出swapinfo -h是:

> swapinfo -h
Device          1K-blocks     Used    Avail Capacity
/dev/zvol/tank/swap  67108864      77M      64G     0%
/dev/ada0p2       2097152      76M     1.9G     4%
/dev/ada1p2       2097152      76M     1.9G     4%
Total            71303168     229M      68G     0%

但過了一會兒,伺服器變得沒有響應。

關於如何解決這個問題以及這意味著什麼的任何想法swap_pager

刪除定義的交換/etc/fstab並僅使用在 ZFS 池中創建的新交換就可以了:

# swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/zvol/tank/swap  67108864        0 67108864     0%

引用自:https://serverfault.com/questions/917626