现在我正尝试使用 CentOS 创建 KVM 模板,但不确定是否应该在客户操作系统上创建交换分区。将来会有很多具有 256-1024Mb RAM 的小型 VPS,如果交换分区是个好主意,那么 256Mb 的交换分区是否足以使它们更稳定?
答案1
当然。去吧……这些听起来像是低内存虚拟机。如果内存耗尽,有交换空间可能会有帮助。如果没有,您可以随时添加交换文件。
答案2
还有一件事需要考虑……一些应用程序(最明显的是数据库)会尝试消耗所有物理 RAM。不幸的是,如果您的数据库足够大,您的数据库服务器将使您的服务器濒临内存不足的边缘。如果情况变得非常紧张,内核将拔出手枪并开始向进程的头部射击以恢复内存。根据我的经验,似乎 RAM 消耗数据库是第一个目标。
添加一点交换。
答案3
特别是对于 RAM 较少的系统来说,某些交换是最重要的。
我在一台中型物理机上安装了大约 100 个配备 384 MB RAM 的小型 vps,其中大多数看起来像这样:
# free -m
total used free shared buffers cached
Mem: 375 330 44 0 60 215
-/+ buffers/cache: 55 320
Swap: 487 4 486
所以最好有一些交换,否则上面提到的 vps 很可能会在没有交换的情况下崩溃。
当 vps 第一次使用交换时,为了减少 CPU 负载并且您知道会发生这种情况,使用预分配(使用 qcow2 图像)会非常好。
可以想象,在具有许多 vps 的物理机器上,如果许多正在运行的 vps 想要交换尚未分配的区域,那么机器的负载将非常高。
就我而言,我宁愿在未来的安装中在 vps 上使用更多的 RAM(大约 +124MB),因为现在我知道一些 vps 可以交换(即使只有 4MB)。