e8root wrote on 2024-06-23, 12:03:I tested Windows 2000 Datacenter SP4 in VirtualBox and found that by default it supports up to 32 threads and 32GB memory
https: […]
Show full quote
I tested Windows 2000 Datacenter SP4 in VirtualBox and found that by default it supports up to 32 threads and 32GB memory

System doesn't start with 33+ cores set. Memory in this example was set to 60GB. I verified its visible through PAE in patched Windows 7 32-bit
I also verified if its VBox issue by disabling some hardware threads in the CPU.
For reference patched Windows 7 SP1 32-bit sees full 60GB memory and boots with 48 threads but only sees 32 threads.
It seems no one made NVMe work on XP 32-bit let alone 2000 but I guess second best would be SAS 6gbit RAID controller and bunch of SATA3 SSD's in RAID0
Core-wise I think you can get to 32 cores if you don't use HT.
PAE performance hit is minuscule and nothing to worry about. Investigations (read: googling) regarding PAE topic it seems its more related to XP and/or drivers needing cache (read: those which don't support PAE directly) where system needs to do some trickery to allow them to work with PAE. Imho nothing to really worry about - besides you already loose performance left and right by using old 32-bit OS with sub-optimal* scheduling rather than new 64-bit OS.
On the related note - is there a way to use Chrome/Chromium on Windows 2000 that I am not aware of?
*) To be honest imho Windows NT5.x scheduling it just fine. Maybe not perfect to squeeze every last bit of performance out of multiple CPU's/cores/threads but at least it has zero issues with multi-tasking despite number of cores unlike NT6.x (which include even Windows 11)
From what I found online, core affinity on Windows was done via a bitmask so for 32-bit OSes this caps at 32 logical processors (cores/threads) and with 64-bit OSes, 64. Apparently for CPUs with more than 64 cores/threads a new concept called "processor group" was introduced in newer Windows to support such, but programs must also be "processor group aware"* in order to take advantage of it, or otherwise they'll only see up to 64 cores/threads available (32 if 32-bit).
On a X99 board I have to disable HT on my E5-2699v4 (22 cores) to let WinXP boot. Same should apply to Win2K as well.
Not sure if anyone ported the NVMe driver to Win2K, but the modded NVMe driver for WinXP does work and I can access my NVMe drive in XP, though I cannot say much about reliability as I haven't intensively tested it...
Latest nVidia video card drivers can work with PAE in most cases. Not sure about AMD, though.
AFAIK PAE is quite problematic especially when paired with audio drivers. Some (C-Media/ASUS) BSOD outright while others (like Creative) would misbehave, as well as BSOD in random or specific occasions. Your mileage may vary and I think the older cards (predating XP SP2) may behave a bit better.
Can't say how drivers behave with NT 6.x when it comes to PAE. Perhaps similar, as the only officially PAE-enabled 32-bit Windows past that point was Windows Server 2008 (non-R2), so can't expect any intensive test regarding PAE from vendors themselves...
PS: Windows 2003 R2 Datacenter SP2 is the only NT 5.x that can support 128GB on 32-bit via PAE (assuming your CPU is modern enough to support it), but that's only if no video/audio drivers installed. I only tested it briefly and it seems nVidia's 2003 drivers cap at 64GB and will refuse to boot if you've more installed (so you need to manually limit memory). Other behaviors are similar when it comes to PAE -- bad audio drivers will still BSOD or misbehave the same way.
EDIT: It seems according to the site I read about the "processor group" concept, the issues with "processor group unaware" programs has been resolved starting with Win11 and Server 2022.