Another one - posted 2 days ago by Ed Bott (and that means people are really taking a close look at x64 now):
Ed Bott's Microsoft Report
Ed Bott
August 4th, 2008
You’ve got Vista x64 questions, I’ve got answers
Posted by Ed Bott @ 4:20 pm
I got a lot of great questions and comments via e-mail and in the Talkback section of my previous post on the
sudden surge in adoption rates for Windows Vista x64. In this follow-up, I summarize the answers I’ve found for each question.
How (and why) do 64-bit Windows versions use memory differently?
Rather than try to explain that here, I’m going to refer you to a very crisply written blog post by Microsoft’s Mark Russinovich, entitled
“Pushing the Limits of Windows: Physical Memory.” The short version is that 32-bit operating systems can, in theory, address memory above the 4GB line on specially configured systems, but doing so is problematic:
[When] Windows XP SP2 was under development, client systems with more than 4GB were foreseeable, so the Windows team started broadly testing Windows XP on systems with more than 4GB of memory. […]
What they found was that many of the systems would crash, hang, or become unbootable because some device drivers, commonly those for video and audio devices that are found typically on clients but not servers, were not programmed to expect physical addresses larger than 4GB. As a result, the drivers truncated such addresses, resulting in memory corruptions and corruption side effects. Server systems commonly have more generic devices and with simpler and more stable drivers, and therefore hadn’t generally surfaced these problems. The problematic client driver ecosystem [led] to the decision for client SKUs to ignore physical memory that resides above 4GB, even though they can theoretically address it.
You might be surprised to learn that “[e]ven systems with as little as 2GB can be prevented from having all their memory usable under 32-bit Windows because of chipsets that aggressively reserve memory regions for devices.” My colleague Adrian Kingsley-Hughes noted another potential problem with memory usage on 32-bit systems
in this comment:
over the past few years we’ve started seeing another [big] addressible space hog - graphics cards. 265MB seems to be about the norm nowadays, but you can get monster cards with 1GB. Start messing with SLI/CrossfireX and you’re consuming a LOT of addressible space there.
Mark Russinovich confirms that observation with this real-world example:
The consumption of memory addresses below 4GB can be drastic on high-end gaming systems with large video cards. For example, I purchased one from a boutique gaming rig company that came with 4GB of RAM and two 1GB video cards. I hadn’t specified the OS version and assumed that they’d put 64-bit Vista on it, but it came with the 32-bit version and as a result only 2.2GB of the memory was accessible by Windows.
Does Vista x64 use more memory than x86?
One commenter confessed to being confused by
conflicting information he’s read. Vista x64 does indeed use more memory than its 32-bit cousin, but in my tests on a dual-boot system I found the difference to be about 12-15 percent for the operating system and its essential services.
I have one test machine that’s ideally suited for this purposes, being equipped with 4GB of RAM, two hard disks, and separate installations of x86 and x64 Vista Ultimate running on separate drives. On this test platform, I found that the x64 machine consistently uses roughly 1.05GB of RAM after startup, while its x86 counterpart uses 935MB to run roughly the same number of processes. (These numbers are consistent on other systems as well.) On the x86 machine, the top 11 processes use 220MB of RAM, while the same group of processes at the top of the x64 list use 251MB.
Measuring memory use is tricky. For example, the x64 systems occasionally grabbed extra RAM from the available pool, presumably to use in building the page file and Superfetch cache. In all cases, though, memory usage eventually retreated to a baseline level and stayed there.
Is there any advantage or disadvantage to running 64-bit Windows on a system with only 1-2GB of RAM?
I haven’t specifically tested this, but I certainly wouldn’t recommend Vista x64 on a system with 1GB of RAM. With 2GB, it’s probably a wash and only worth doing if you are certain you will upgrade the system to 4GB or more. Because there’s no upgrade path from 32-bit to 64-bit Windows, this strategy avoids the need to reinstall the operating system from scratch and migrate all your programs and data files after completing the RAM upgrade.
Are there major hardware or software compatibility issues with switching to x64?
Driver coverage for mainstream devices, such as video cards, digital cameras, and network adapters, is uniformly excellent, and by design, any new system you buy with Vista x64 preinstalled will include all necessary drivers and support software for hardware such as fingerprint readers, sound, and card readers. You’re most likely to encounter problems with legacy hardware, especially scanners.
On the software side, the biggest offender is VPN software, a topic so rich it’s worth its own entry (see the next question for more details). Most 32-bit software runs fine on 64-bit Windows, although specific features sometimes change or vanish when you try to run 32-bit software on a 64-bit OS. Microsoft’s OneNote, for example, uses the Vista search index for its own internal searches but doesn’t return useful results when you search from the Start menu. The Print To OneNote feature is available only under 32-bit Windows versions, a showstopper for some OneNote fanatics. Popular consumer-focused security programs (Norton, McAfee, Windows Live OneCare) run well under Vista x64 with the noteworthy exception of ZoneAlarm (noted by
this commenter), whose
system requirements pointedly add “(32-bit)” after every mention of Windows Vista. It’s encouraging to see new arrivals such as
Sunbelt Software’s VIPRE Antivirus + Antispyware support x64 right from the start.
Under Vista x64, some Windows utilities are available in both 32-bit and 64-bit versions, with the 32-bit versions of Windows Media Player and Internet Explorer set as defaults to allow compatibility with plug-ins. You get no support for Flash or Silverlight, for instance, if you run a 64-bit version of IE7 or Firefox.
What’s the story with VPN clients?
Readers report problems with VPN clients from
Check Point,
SonicWALL/Aventail, and
Cisco. Microsoft has compiled information into Knowledge Base article 929490,
Windows Vista-compatible third-party virtual private network (VPN) client schedules. The article, whose Last Review date is listed as November 5, 2007) includes an awful lot of “Unknown” entries in the x64 column and notes that Cisco has no plans to update its VPN Client. The
release notes for the June 2008 VPN Client 5.0 release makes it clear in two places that only 32-bit Windows versions are supported.
This section documents the error message you’ll get if you try:
Installing the VPN Client on a 64-bit Vista Machine Results in a 1721 Error
Cisco IPSec Client does not support 64-bit. If the user requires 64-bit support, the upgrade path is to use the Cisco AnyConnect VPN Client instead, which does support 64-bit. Note that the AnyConnect Client supports only SSL VPN connections (CSCsi26069).
Aventail’s website confirms that its
Global VPN Client software works only with 32-bit Windows. Check Point Software likewise notes that its
VPN-1 SecuRemote/SecureClient software is “supported on the Windows Vista 32-bit operating system,” with no mention of plans to add x64 compatibility.
Several commenters recommend using Virtual PC 2007 or another virtualization solution under Vista x64 to run a separate 32-bit OS dedicated to VPN access.