托管主机、VPS 和 RAM - 虚拟内存?

托管主机、VPS 和 RAM - 虚拟内存?

我正在与一家刚刚起步的 Web 托管商交谈。他们有共享托管和托管 VPS。对于共享托管,我了解到他们有一个脚本来检查进程是否超出内存限制,如果超出,则终止该进程。同样,对于他们的托管 VPS(CentOS-7):

... 托管 VPS 计划是一种托管服务,与我们的共享主机计划完全相同。唯一的区别在于您使用的是 VPS。我们不会监控或限制您在 VPS 上的内存使用情况,因此如果您愿意,您可以随意使用 VPS 上的所有可用系统内存。也就是说,内核确实具有内存不足保护,因此如果您开始占用内核所需的内存,您会看到内核会终止各种进程。

等一下。虚拟内存这个东西怎么样?主机为什么要这么做?

即使对于共享主机,难道没有办法设置ulimit -m并启动分页而不是终止工作吗?

编辑:我根据自己的研究添加了一个答案。我仍然很感激您的意见。

答案1

系统中的某些部分不能放入虚拟内存(Linux 中称之为交换)。此外,有时根据磁盘 IO 性能和大小,在服务器上限制交换是明智之举。我见过许多系统在有交换的地方(基于硬盘的交换)锁定。

答案2

经过一番研究,我发现这个问题反映了人们一段时间以来一直困扰的问题。为共享主机划分内存似乎尚未解决的问题(如果我理解正确的话)。出于某些原因,VPS 通常没有交换。 建议是“考虑一个看起来像带有交换等功能的“普通”服务器的云服务(Amazon EC2 就是这样一个选项)”,此外,“只有像 OpenVZ 这样的基于容器的 VPS 缺少交换空间。Xen、KVM、VMware 等都允许这样做,并且实际上可以用来构建您所说的那种高质量环境。OpenVZ 真的不能。”

相关内容