VMWare Server 2.0 设置处理器亲和性

VMWare Server 2.0 设置处理器亲和性

我在具有两个 Opteron 核心的 Debian Lenny 机器上运行 VMWare Server 2.0。我想知道是否有办法手动设置处理器亲和性,以便虚拟机 1 和 2 从单个处理器启动,而虚拟机 #3 从另一个处理器启动?

我知道这不是一个开箱即用的功能,但可能有一个命令行黑客可以帮我实现我想要的功能:)。

答案1

您可以在事后使用设置亲和性taskset。我个人会使用一个脚本来优先处理或设置 VMWare 进程的 CPU 亲和性vmware-vmx。将其放入 cron 每小时一次或运行一次。例如,典型的 VMWare Server 2.0ps aux输出如下所示:

[root@xxxx ~]# ps auxwww| grep vmx
root     30372 24.9  1.1 2026132 137092 ? S<sl  2010 25896:06 /usr/lib/vmware/bin/vmware-vmx -# product=2;name=VMware Server;version=2.0.2;buildnumber=203138;licensename=VMware GSX Server for Linux;licenseversion=3.0 build-203138; -@ pipe=/tmp/vmhsdaemon-0/vmxd6074b323529c88a;readyEvent=40 /vmware/xxxx_Web/xxxx_Web.vmx

要将其设置为 CPU 核心 2,我会使用类似以下命令:

#!/bin/bash

# Set CPU affinity for vmware-vmx processes to CPU core 2
for i in `pgrep -f vmware-vmx | xargs`; do taskset -c -p 1 $i; done

或者您可以手动运行taskset相关的 PID。

相关内容