![MAC OS X“虚拟内存”和 Linux/Unix 交换有什么区别?](https://linux22.com/image/34259/MAC%20OS%20X%E2%80%9C%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98%E2%80%9D%E5%92%8C%20Linux%2FUnix%20%E4%BA%A4%E6%8D%A2%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F%20.png)
我想了解 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?