什么是内存操作模式?

Rob*_*ite 5 virtualization windows-server-2003 windows-server-2008 memory bios

我得到了一个 x64 windows 2003 服务器,我在上面安装了 M$ Virtual server 2005 R2。然后我创建了一个运行 Server 2008 R2 的映像。它运行得很慢,所以我对事件日志进行了一些挖掘,最终找到了这篇文章:http : //support.microsoft.com/kb/925477

我已经进入主机服务器的 BIOS 并将内存操作模式更改为优化器模式并将节点交错更改为启用。令人高兴的是,来宾操作系统现在运行得更快了(在我看来,没有真正的具体测试)。

这就是设置,我的问题很简单。我刚刚做了什么?我阅读内存管理文档的次数越多,我理解的就越少。有人可以解释一下内存操作模式是什么以及不同设置的真正含义。

sys*_*138 3

看起来您那里有一台戴尔服务器!一些文档:

http://support.dell.com/support/edocs/systems/pem/en/hom/html/syssetup.htm

优化器模式:“当设置为优化器模式时,两个内存控制器以并行 64 位模式运行,以提高内存性能。

内存交错:“如果设置为禁用(默认),则采用 NUMA。如果启用,则实现内存交错。

您对这些设置做了两件事:

  1. 配置内存控制器以提高并行性。
  2. 将内存配置为不使用 NUMA(特定于处理器的内存组),而是使用所有内存,就好像它是本地内存一样。

这对你来说可能是阿拉姆语,所以了解一下这意味着什么。新服务器配置了每个处理器的内存条,支持 NUMA(非统一内存架构(链接))。这允许各个处理器拥有不同数量的本地内存,并使操作系统(如果它支持 NUMA)能够构建正在运行的进程以利用每个处理器的本地内存。

举个简单的例子,以双四核服务器为例。每个四核处理器都有 8GB 与之关联的 RAM,系统总共有 16GB。在 NUMA 系统中,操作系统知道在一个四核处理器上运行的进程具有本地内存(读取速度更快),并且在一个处理器上的各个内核之间移动进程不会影响内存访问速度。它还知道,如果一个进程必须访问另一个处理器的本地内存组上的内存,则将花费一定的时间。

您对 BIOS 设置所做的操作本质上是关闭 NUMA。交错内存意味着不会保留内存处理器亲和性,因此所有内存访问都会很昂贵。这是通过打开优化器模式来补偿的,这意味着内存访问可以并行处理,这样交错内存的服务速度将比串行访问快得多。

我希望这有帮助。