我有 centOS 专用服务器,并且正在安装 vmware 服务器,如何限制每个虚拟机的 CPU/资源使用情况?我的 XEON 服务器超载了,这是一个很大的问题。
答案1
简单的方法:
CPU:
我建议设置与 VM 对应的每个进程的“niceness”。这实际上并不限制 CPU 的使用量,而是设置调度程序将赋予它的优先级。
您可以使用 renice 命令更改进程的优先级。-20 是最高优先级,20 是最低优先级:
renice 10 -p 12345 #Where 12345 is the pid of the vmware process for the vm you want to limit.
为了提高优先级,可能需要以超级用户身份运行该命令。
内存:
VM 获取的内存量由 VMware Server 内部的 VM 属性设置,我将从那里开始。
磁盘:
磁盘 IO 可能是虚拟机的问题之一。您可以使用 sysstat 包中的 iostat 命令获取一些磁盘性能数据。然后您可以使用伊奥尼采更改磁盘优先级。例如,要将虚拟机设置为“空闲”磁盘优先级:
ionice -c3 -p12345
稍微复杂一点:
您可以以指定用户身份运行虚拟机,并使用 PAM 和/etc/security/limits.conf限制用户运行的资源。
答案2
对于一个非常简单的解决方案,请查看CPU限制,它允许您设置每个进程的 CPU 使用率限制,以百分比表示。
答案3
我不确定 vmware 服务器是否可以做到这一点,但如果您安装 ESXi(免费),则可以限制每个虚拟机的 CPU 使用率。请注意,这将覆盖整个系统,从而有效地为您提供专用的 vmware 设备。
答案4
我 99% 确定常规服务器中没有资源控制,尽管 ESX 中有很多,但这对你没有用。