I have found High CPU usage on VM's that have been P2V from a NT 4.0 with Multi Proc Server to a Uni Proc Server. ESX 2.x does not support Multi Processor NT 4.0 vm servers so we must switch the server to use the Uni HAL and kernel files.
These three options in the boot.ini file is a quick way to change the uni/multi proc settings. They work slick for when I do a Poor Man P2V with WinXPe and Robocopy on a NT 4.0 server. Just extract the HAL and KERNEL that you want from the Service Pack file.
/HAL=filename
Allows you to define the actual hardware abstraction layer (HAL) to be loaded at startup. This switch is useful in trying out a different HAL before renaming it to hal.dll. This switch is also useful when you want to try booting between multiprocessor and single processor mode when used in conjunction with the /KERNEL switch. For example, /HAL=halmps.dll. This will load Halmps.dll from the System32 directory.
/KERNEL=filename
The /KERNEL=filename switch allows you to define the actual KERNEL to be loaded at startup. This is useful in switching between a debug enabled kernel full of debugging code and a regular kernel. It is also useful for forcing Windows NT to load a specific kernel. For example, /KERNEL=ntkrnlmp.exe. This switch command will load Ntkrnlmp.exe from the System32 directory.
/NUMPROC=
This switch sets the number of processors that Windows NT will run at
startup. This will help test out performance problems and defective CPUs. For example, /NUMPROC=1