运行没有交换文件的 Postgres 数据库有什么缺点?此数据库驻留在具有 122 GB 内存的 AWS EC2 计算机上。
答案1
这取决于此 VM 运行的操作系统。例如,Solaris 需要交换文件,因为 Solaris 中的交换是其虚拟内存堆栈不可或缺的一部分。我认为 FreeBSD 也更适合启用交换的配置,但调整可以消除这一点。另一方面,Linux 不需要开箱即用的交换。
答案2
为了避免任何最坏的情况,您可以添加交换文件并将 swappiness 设置为较小的值。(vm.swappiness = 10)。因此,除非内存利用率达到 90%,否则系统不会进行交换。