适用于 OpenVZ 的 vSwap 与 Burstable RAM

2 virtualization linux memory openvz

vSwap 和 Burstable RAM 之间的最大区别是什么?

vSwap 是否使用磁盘创建和导致 I/O?我知道 SWAP 将使用磁盘,因此 vSwap 与刚刚在容器中虚拟化的交换相同。

Jar*_*ell 6

突发内存本质上是在主机节点有可用内存并且您已超出容器保证的内存时可以使用的内存。这是一个有缺陷的系统,因为应用程序不会读取 OpenVZ beancounters 中的内存。这意味着您的 VPS 认为它的内存比主机节点实际保证的要多。

例如,如果我设置了 1GB 的内存保证并给了你 2GB 的突发,你会看到一个有 2GB 内存可供使用的 VPS。但是,如果您的使用量超过 1GB 并且主机服务器没有内存可以提供给您,则 OpenVZ 内核开始终止您的进程,将您的使用量降至等于或低于 1GB 的值,即您保证的内存。

更合适的解决方案是 vSwap。应用程序通常不想用频繁访问的数据填充交换空间。这通常(有很多例外)被视为额外的内存存储,如果您的内存使用量恰好超过物理内存,则可以让您继续运行。在普通 Linux 系统上,交换是磁盘空间。磁盘比 RAM 慢。将系统盘视为 RAM 会影响性能。OpenVZ 将 vSwap 分配为主机节点上的实际 RAM,而不是磁盘空间。为了模拟更原生的环境,内核人为地减慢了容器的速度,从而使交换变得没有吸引力,因为它通常被认为和预期的那样。

使用 RAM 来分配 vSwap 而不是磁盘背后的想法是,当一些容器开始最大化其内存和交换时,您不希望服务器上所有用户的磁盘延迟增加。通过将其分配给 RAM,您可以避免不必要的磁盘性能问题。

对于执行更像实际虚拟化或实际专用服务器的 OpenVZ VPS,vSwap 是您的选择,而 Burst 已过时。