我想了解 MAC OS X“虚拟内存”和 Linux/Unix 交换的区别。
我问这个问题是因为我观察到 MAC OS X“虚拟内存”似乎比 Linux/Unix 交换更高效(在桌面用例中)。
根据我的理解,MAC OS 将未使用的(RAM)数据存储在“虚拟内存”中。在某种程度上,它使 RAM 可供当前使用的数据/当前运行的程序使用。
例如,如果我观看了一部电影,然后开始渲染一些图像,MAC OS 会将电影移至“虚拟内存”中,并仅在我重新访问时将其移至 RAM 中。
仅当当前运行的程序需要的 RAM 多于可用的 RAM 时,交换到磁盘区才会使用交换。并会立即将swap中存储的数据尽快写回到RAM中。
答案1
您可以在 SSD 上创建交换文件。 4GB 交换文件的示例:
# fallocate -l 4G /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile
要使其永久化,请将其添加到 fstab 中。
/swapfile none swap sw 0 0
从: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04?