I have had 3G and 4G of RAM installed in this T400 and Control Panel->System shows the correct amount of physical RAM in either case.
Under either config, Windows Task Manager only shows 2.5G total.
I understand that the 4G address space gets consumed to some extent by device mappings (or potential device mappings) including the discrete graphics. And that the chipset graphics grab some actual RAM.
However, even with both of those a max of 2.5G is ridiculous. Especially with 4G installed.
(My T61 makes all 3G available, and my deskside with 4G installed still makes 3.5 avaiable)
Any ideas on how to improve this?
This is normal - the system may display 2.5GB or close to 3GB of available memory depending whether operating with discrete or integrated graphics mode under a 32 bit operating system.
Since the T400 has switchable GPUs, the second GPU is using up an additional 512MB of address space. 2.5GB of available memory sounds normal for your system.
The ATI card has 256MB physical and can use up to 256MB of your system memory, hence the extra 512MB being taken up. all of that needs address space and that space has to come from the 0~3GB block since the 3~4GB block has already been allocated.
Here are the results of several configs reported by members in the community:
Baseline: Switchable graphics enabled, either 3G or 4G of RAM installed: total in Task Manager/performance -> 2517MB.
So, it is possible to stretch the available RAM available under a 32bit OS by shutting off one of the graphics units and stuffing in 4G of RAM. The 4th GB won't be fully utilized, but it will be slightly more than the 3GB config. Practically, there is little advantage of going to 4GB on a 32bit OS.