我将在虚拟机中安装Ubuntu 10.04 Server,并且希望在其上运行MySQL和Lighttpd。
除了32位机器上的4 GB内存限制之外,64位和32位虚拟化之间是否有任何优点或缺点?
我使用Virtualbox。
除了32位机器上的4 GB内存限制之外,64位和32位虚拟化之间是否有任何优点或缺点?
在64位环境中运行有许多优点。 正如你所说,最大的是解决大量内存的能力。 虽然你可以让你的32位内核寻址超过4GB的内存,但单个进程仍然会被限制在4GB。 这不仅影响“真正的内存”,而且还影响整个虚拟地址空间……如果应用程序计划通过mmap()或其他技术广泛使用虚拟内存,这就是一个特殊的问题。 清漆 httpcaching就是一个很好的例子。 在这里和其他地方讨论。
来自AMD的这篇文章 (警告:PDF)详细讨论了64位与32位。
64位系统在理论上具有性能上的优势,这些系统由更多的寄存器,更宽的存储器读取(即每个读取操作读取的位数更多)等等,但是迄今为止我看到的数据表明,目前64位并不是select其中一个的理由。
32位来宾将使用更less的内存。 我通常在64位主机上使用32位客户机,除非我有特定的原因。 如果你需要高内存,然后去64。
一个考虑因素是虚拟机的RAM要求。 你会发现MySQL和Lighttpd在64位Ubuntu上使用的内存比32位的Ubuntu要多。
所以我喜欢在小内存的小型虚拟机上使用32位安装,比如512或者更less。 你会看到这些低端configuration通常与许多VPS提供商,如linode或slicehost。
我所见过的64位代码的唯一基准就是mysql(和db一般),它运行在Sun Ultra 5(在RISC平台上,32位几乎总是快一点),如果performance很重要,它可以制造真正的差异。
还有一点,VMware说要设置虚拟机使用一个CPU,除非你需要更多的性能,因为它通常更快(从多个虚拟CPU有开销)。