wang93wei
2023-07-30 00:26:47 +08:00
以下回答来自 CLAUDE:
现代操作系统开启 SWAP 的主要原因有以下几点:
1. 补充物理内存不足。当物理内存使用量接近上限时,系统会将部分不常用的内存内容交换到 SWAP 区,腾出物理内存来运行新的程序或加载更多数据。
2. 支持内存过 commit 。应用程序可能会申请比实际所需更多的内存,SWAP 可以作为内存过 commit 的缓冲区,避免物理内存使用量超过系统实际容量。
3. 支持内存休眠。系统可以将长时间不用的内存页交换出去,腾出更多物理内存给活跃进程使用。当需要那些页时再从 SWAP 调入。
4. 进程虚拟地址空间更大。进程可以申请超过系统物理内存大小的虚拟地址空间,SWAP 可以把部分不用的页换出,使进程可以获得更大的可用虚拟内存空间。
5. 增加系统故障容错性。如果没有 SWAP,一旦物理内存用尽,系统就可能直接崩溃。有了 SWAP,可以缓解这种情况。
6. 支持内存压缩。系统可以使用压缩算法,将内存内容压缩后存放到 SWAP,在需要时再解压,这样可以增加系统的整体内存容量。
综上所述,SWAP 的作用是对物理内存进行扩充和优化,让系统可以灵活、高效地使用内存资源,这对现代操作系统来说是非常重要的。
------------------------------------------------------------
想要完全避免 SWAP ,我建议直接顶配。