我仍然看到系统管理员使用旧的经验法则,即交换应该是内存的两倍,即使在具有 32GB 内存的服务器中也是如此。
这些系统具有相对昂贵的磁盘(随附 200GB 驱动器),将其中的 64GB 分配给交换似乎有点过分。
我想知道您为 Solaris 服务器分配了多少交换空间,为什么?
我看到还有其他类似的问题,但主要集中在 Linux 上。对于 Solaris,决定交换空间还有另一个考虑因素,因为 /tmp 文件系统通常与交换共享。
swap = 2 * memory 来自过去,在内核崩溃期间,内核将内存转储到交换设备,您可以在重新启动系统后检查发生了什么。例如,现在 linux 完全跳过了这一点,而且我不会在启用转储文件设置的情况下运行我的系统。所以,这双倍的内存大小来获得交换不再有效,因为你有 16/32/64GB 的内存并不罕见,然后你显然在这个老故事之后浪费了磁盘空间,当磁盘很多时比 RAM 大。长话短说,如果您不想转储和分析生产中的内核崩溃,则没有逻辑上的理由来保持这一原则,只需给您的系统几个 G 交换,通常我给 2/4 G,因为我想避免swap造成的巨大IO负载。