But since you'd need the 64-bit OS version to access the 4th GB (roughly), better to upgrade to 3GB.
On a system configured with 4 GB of random-access memory (RAM), Microsoft® Windows® reports 3.0 to 3.8 GB of available memory. The same behavior is seen in Linux and other operating systems, as this is a limitation of 32-bit addressing used in IA-32 systems.
This is a limitation of a 32-bit architecture. The system can only address 4 GB of allocated memory. Allocated memory is made up of physical RAM, and any I/O space needed by devices. The way memory is allocated is that starting at 4 GB, the system allocates device I/O addresses working its way down. Normally this is not a problem, but when systems have 4 GB of physical memory, the addresses needed to address RAM overlap the space needed for I/O. In this case, the need for I/O space takes precedence, and the amount of RAM visible to the operating system and applications is limited to 4 GB minus I/O space. Examples of devices that consume I/O space are:
System BIOS
PCI Express configuration space and memory for PCI Express device(s)
Memory mappy I/O
Motherboard Resources (I/OxAPIC)
Chipset
PCI Enumeration
For example: If you have 4GB of system memory, an Intel 915g Express chipset, Windows XP with Service Pack 2, and a PCI Express graphics card the remaining system memory as reported by System Information would be ~3.25GB. The same configuration but with 2GB of system memory would result in all 2GB being available. This is due to the limited capability of memory mapping (or limited amount of addresses) on 32-bit architecture systems.
I would use 4GB of memory, that way when you upgrade to vista32 or 64, you have 4GB to go along with it
.
EDIT:
By default the most memory XP can assign to any task is 2GB, unless when installed with a certain switch (I forget what the switch it) that will allow a maximum of 3GB assigned to a specific task.