64位虚拟机在64位机器上(VMware)运行更快

14

我有一台64位主机和64位主机操作系统。我想安装一个虚拟机(内存1GB或更少),但我不知道哪种方式会表现更好。我听说64位硬件/软件的唯一优势是可以针对每个进程使用超过2GB的内存,但它实际上比32位慢。

因此,安装32位客户机操作系统还是64位客户机操作系统更好呢?

我认为我将在其中运行的软件是32位的,因此无论如何它都会使用32位库而非模拟运行。但如果我有64位版本的软件呢?

1个回答

3

很多时候你听到的都是胡言乱语。使用64位操作系统不仅支持单个进程超过2GB的内存,而且还能支持超过2GB的总内存,这是更难实现的极限。事实上,在32位机器上运行2GB的进程会使文件缓存空间非常有限,而在64位机器上运行2GB的进程则留下了足够的缓存空间。

除非系统压力非常小,否则从操作系统层面来看,32位OS只是一个糟糕的安装选择。我写这篇文章的时候,使用了一个具有8GB内存的虚拟机运行Visual Studio,因为这对于调试大型项目非常有帮助。

我认为我将在其上运行的软件是32位的,所以它将在仿真中运行

啊,现在你也开始散布不良信息了。没有仿真,32位执行在所有合适的处理器上(不包括Itanium)和64位一样快。

但如果我有软件的64位版本呢?

这取决于情况。对于大多数软件而言,使用64位版本并没有意义。如果软件可以 / 能够利用超过2GB的内存,则有意义。但即使软件不能,操作系统也可能会这样做。


好的,没错。这并不是完全的仿真,只是使用了32位版本的库。然而我并不明白哪个更好。我提到虚拟机最多只有1GB的RAM,所以64位的内存优势没有用处。我只关心更好的性能 - 64位操作系统会因为64位指针/内存管理等而变慢吗? - NickSoft
@NickSoft 正如TomTom所说,位数(32位与64位)与指令执行速度无关。如果您有一个应用程序从未访问超出32位的内存,并且它是为64位执行编译的,则由于系统的位数而导致的执行速度差异将不存在。软件可能会进行其他优化以提高性能,但这并不直接归因于32位或64位。 - Bueller
所以,如果我安装32位或64位操作系统,没有任何区别吗?64位指针与32位指针相比,在读写时需要相同数量的时钟周期吗?那么VMware仿真有什么区别呢? - NickSoft
不,它们速度较慢 - 但那不是模拟,也不是VMware模拟器的原因,而是它们的体积是两倍大,因此使用了两倍的内存带宽。常识啊,你知道的。然而,在大多数情况下,现在选择32位操作系统是非常忽视的。 - TomTom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接