现在应该用swap分区还是文件?


#1

对于目前(2018.05)的发行版,在分swap的时候使用单独的分区和使用文件在性能和稳定性上还有区别吗?

现在似乎只有Ubuntu默认使用swap文件……

以及吹毛求疵地比较的话,哪个好点?

以及有没有一些Linux官方推荐该用啥的资料?我找了半天没找到……


#2

没有。只不过想要休眠功能正常的话 BTRFS 和 ZFS 的逻辑分区都不能用来做 swap,必须另外开一个 swap 分区。

只要内存够用,用到 swap 的机会很少。像我的 Gentoo 只有 4 GB 内存,但是除非编译一些比较大的软件,一般用不到 swap。或者说,swap 本身的作用就是在物理内存满了以后应急,如果要到考虑性能问题的地步,还是先考虑加内存吧。


#3

那么抛开性能来看,在使用Ext4文件系统的情况下,现在用哪种比较有优势?

感谢


#4

swap file。因为不用特意分区给一个使用频率不高但不可少的功能。尤其是分区大小很难调的时候。


#5

可以看看How Linux work ,现在的swap不那么重要了,如果需要你可以设置为交换文件。


#6

据我所知,使用swapfile无法休眠。


#7

swap 分区性能会高一些,因为不用通过文件系统。


#8

可以。只要用內建支持的文件系統和正確的设置。


凭直觉就知道这是 myth。

For a 2.6 Linux kernel, there is no performance difference between a swap partition and an unfragmented swap file. When a swap partition/file is enabled by swapon, the 2.6 kernel finds which disk blocks the swapfile is stored on, so that when it comes time to swap, it doesn’t have to deal with the filesystem at all.