我应该为开发机器使用 32 位还是 64 位操作系统?
我记得听说为了性能,开发机器应该是 32 位,而服务器应该是 64 位。 我认为是 Dot Net Rocks! 中的 Richard Campell 提到了这一点。
为什么对于开发盒来说 32 位比 64 位更快,对于服务器反之亦然?
I remember hearing that for performance a development machine should be 32 bit, while servers should be 64 bit. I think it was Richard Campell on Dot Net Rocks! that mentioned this.
Why would 32-bit be faster than the 64-bit for a development box and vice versa for servers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
一个主要原因是 32 位操作系统无法寻址 4GB RAM。 在许多涉及虚拟机的开发环境中,4-8GB 可能至关重要,甚至在一般繁重的工作中也是如此。 这就是为什么我总是尽可能坚持使用 64 位,并且所有现代 CPU 都支持它。
One major reason is the fact that 32-bit OSs can't address 4GB of RAM. 4-8GB can be crucial in a lot of development environments where virtual machines are involved, or even heavy lifting in general. This is why I always stick with 64-bit where possible, and all modern CPUs support it.
这部分取决于您的工具 - 例如,Visual Studio 仍然是一个 32 位应用程序(但可以从 x64 使用 - 只是没有巨大的收益)。
但是,如果您使用主操作系统来托管虚拟机,那么您可能可以从用于各种虚拟机的大量内存中受益 - 然后您可以选择 32 位和 64 位虚拟机来满足您的需求(很难选择)在 32 位主机中有一个 64 位来宾 VM)。
就我个人而言,我仍然使用 32 位进行开发。 对于我所做的大部分事情来说,这都很好。
It depends in part on your tools - for example, Visual Studio is still a 32 bit app (but usable from x64 - just no huge gain).
However, if you are using your main OS to host VMs, then you can probably benefit from a ton of memory for your various virtuals - and then you can choose 32-bit and 64-bit VMs to suit your needs (it is harder to have a 64-bit guest VM in a 32-bit host).
Personally, I'm still on 32-bit for development. For most of what I do, it is fine.
我运行 64 位 2008 Server,没有发现任何性能问题。 事实上,它比 32 位 XP 好得多。 它的执行速度通常更快。 有趣的是,在运行 64 位 2008 Server 的笔记本电脑 5400rpm 驱动器上的文件操作比在运行 32 位 XP 的 7200rpm 驱动器的办公室 PC 上更快。
我只能想到一件事为什么你会想要运行 32 位操作系统(XP 是最新的):你可以使用 IE6 来调试你的网站。
另一件事是 32 位操作系统无法寻址超过 ~3.4 Gb 的 RAM 容量。 如果您的 PC 有 4+ Gb 的 RAM,那么您只会在使用 32 位操作系统时失去内存。 回想一下,即使现在销售的消费类笔记本电脑也配备 4、6 和 8 Gb RAM,人们也可以放心地告别 32 位操作系统了。
如果您谈论的是非 Windows 操作系统,那么我的经验可能不适用。
I run 64-bit 2008 Server and see not performance issues whatsoever. In fact, it's much better than 32-bit XP. It performs generally faster. In a funny way, file operations are quicker on my laptop 5400rpm drive running 64-bit 2008 Server than on a office PC with a 7200rpm drive running 32-bit XP.
I can think of only one thing why you would want to run a 32-bit OS (XP being the latest): you get there IE6 to debug your sites.
The other thing is that a 32-bit OS is incapable of addressing RAM capacity over ~3,4 Gb. If your PC has 4+ Gb of RAM you only loose with a 32-bit OS. Recollecting that even consumer laptops are sold these days with 4, 6 and 8 Gb of RAM, one can safely say goodbye to a 32-bit OS.
If you are talking about non-Windows OS then my experience may not apply.
我的笔记本电脑上安装了 64 位 Ubuntu。 我用它来开发,完全没有性能问题。 我感觉这样可以更好地利用计算机资源。
我能想到选择 32 位操作系统的唯一原因是您知道您开发的内容可以在 32 位和 64 位机器上运行。 但是 VS 让你选择你的目标机器......
I have a 64-bit Ubuntu installed in my laptop. I use it for development and I have no performance issues at all. I have the feeling that computer resources are better used this way.
The only reason I can think of to choose 32-bit OS is that you know that what you develop will work on 32-bit and 64-bit machines. But VS let you choose your target machines...
拥有大量内存会改变您的工作方式,有时甚至是巨大的改变。 我运行 8 个虚拟屏幕,具有 4 个不同的开发环境(1 个主干、2 个分支和用于外部项目的第四个环境)。 只需 12GB 内存和 30 英寸屏幕。
Having a lot of memory changes the way you work, sometimes dramatically. I run 8 virtual screens with 4 different development environments (1 trunk, 2 branches and a fourth environment for external projects). Just with 12GB mem and a 30" screen.
对于开发人员来说,我不认为 32 位机器比 64 位机器更快。 确实,64 位操作系统上的开发环境正在模拟的 32 位环境中运行,这会产生轻微的开销。 另一方面,您会发现 64 位操作系统稍快一些,因为内部数据路径是 64 位,使操作系统能够在单次操作中移动两倍的数据。 这使得 64 位操作系统比 32 位操作系统稍快。 64 位操作系统的缺点是指针要大两倍。
真正重要的是 64 位操作系统非常稳定,可以访问更多的物理内存,并且可以在不牺牲性能的情况下运行 64 位和 32 位应用程序和虚拟机。 32位操作系统已经成为过去。
I don't think that 32 bit machines are faster then 64 machines for developers. It is true that your development environment on a 64 bit OS is running in an emulated 32 bit environment and that creates a slight overhead. On the other hand you will find that the 64 bit OS is slightly faster as the internal data paths are 64 bit enabling the OS to move twice as much data in a single operation. This makes the 64 bit OS slightly faster than a 32 bit OS. The downside of a 64 bit OS is that pointers are twice as big.
What really matters is that 64 bit OS'es are very stable, have access to much more physical memory, and can run both 64 bit and 32 bit applications and virtual machines without sacrificing performance. The 32 bit OS belongs to the past.
虽然我无法用数字来量化,但我注意到了与“城里的新事物”相同的事情。 我以前在笔记本上运行 XP x86,后来又运行 vista x86。 升级到 Vista X64 后,速度快多了。 不知道这是否是驱动程序问题,事实上我运行 SQL Server x64 等,它可以使用两倍数量的 cpu 寄存器,Windows 中“内部”内容的优化或其他什么,但我可以注意到其中的差异。 ..
Although I can't quantify it in numbers, I have noticed the same thing as 'new in town'. I used to run XP x86, and later vista x86 on my notebook. After I upgraded to Vista X64 it is a lot snappier. Don't know if it is a driver issue, the fact that I run SQL Server x64 etc, that it can use twice the amount of cpu registers, optimizations in 'internal' stuff in windows or what, but I can notice the difference...
他的观点是,如果您针对 32 位进行开发,则可用的内存将少于 4GB。 在 64 位服务器上,您可能拥有超过 4GB 的 RAM。 基本上是在欺骗你更加节省你的内存需求。 它更多地与内存使用有关,而不是与 CPU 上的原始数字运算有关。
His point was if you develop for 32bit you will have less than 4GB of ram to work with. And on a 64bit server you may have much more than 4GB of RAM. Basically tricking you into being more frugal with your memory requirements. It had more to do with memory usage than raw number crunching on the CPU.
我认为明显的建议是使用您的代码将部署在的任何操作系统。 如果您的开发环境尽可能接近部署环境,则仅在部署环境中出现错误的可能性就会较小。
I'd think the obvious suggestion would be to use whatever OS your code is going to be deployed on. If your development environment is as close as possible to the deployment environment, there's less chance of bugs showing up only in the deployment environment.