Our SCCM primary server is a guest on an ESXi box. It has 24GB ram allocated to it, and works perfectly well. It's being used for software, image and update delpoyment, anti virus, distribution point/PXE etc. We also have a secondary server which is a backup management and distribution point for our second site.
SQL is limited to 12GB here. Disks are standard 7200RPM SATA units.