5

From the NVIDIA Control Panel:

  • Total available graphics memory: 3839 MB
  • Dedicated video memory: 256 MB DDR2
  • System video memory: 64 MB
  • Shared system memory: 3519 MB

From dxdiag:

  • Display Memory: 3815 MB
  • Dedicated Memory: 231 MB
  • Shared Memory: 3583 MB

Apparently my system dedicates 256MB to and shares 3.5GB with the integrated graphics card... 3.5GB is huge! How can I find out how much of that 3.5GB is actually allocated for the graphics card? (and is therefore not available to applications)

Specification:

  • OS: Windows 7 64-bit
  • RAM: 8GB
  • GPU: GeForce 9300 mGPU (nForce 730i)
1
  • You can usually select how much memory you want to share with the video card directly from BIOS. You might want to look there for more information.
    – alex
    Mar 23, 2011 at 7:06

3 Answers 3

5

This is normal for mobile GPUs. At one point nVidia made a system where card would be able to use both its own RAM and system RAM. After that they presented some graphics cards with 32 MiB and 64 MiB of RAM. They could use system RAM, so their total amount of RAM would be 128 MiB and 256 MiB, if I remember correctly. Basically, the dedicated video memory is the card's RAM and the shared memory is the main RAM that the card can use when it needs extra memory. That system remained in their mobile graphics cards. As far as I know, there is no way to check if the card is using that memory or not. I myself have a GeForce 9500M GS on a 4 GiB system and have never had problems with card eating any of my system RAM. On my computer, the shared RAM is 1790 MiB, so it could be that driver automatically sets a certain percentage of system RAM as shared.

EDIT: After doing some calculations, it seems that the shared memory is set to around 43.7% of main system RAM.

Here is article about that technology on NVIDIA's site. Here's another interesting article on the technology.

From what I've read, you won't have any problems with TurboCache using up needed RAM because it only uses RAM not used by other applications and it only uses RAM when it needs to to so and when it will improve performance.

2

From what I understand of shared video memory this is only applicable to built-in memory chips on motherboards that don't have their own dedicated RAM.

The system sets aside a small portion of its memory to use as video memory.

If you have a 'proper' video card (i.e., one that plugs into a slot) then the computer will not be sharing the system memory with the video card.

If the video card is on-board then you should be able to select the amount of memory in use by the video card in the computer's BIOS.

The numbers you are looking at in dxdiag are the amounts of memory the software (DirectX) has access to. It looks like you have a 256MB graphics card, and DirectX is able to use 3.5 GB of system memory for graphical things like caching textures etc.

1

Your video chipset has its own 256MB of RAM that is physically wired to the GPU itself. The GPU also has the capacity to share RAM with the system, up to 3.5GB or so. But it almost never does that, and when it does, it's only for the time needed to complete the operation using that memory.

The GPU's access to shared system memory is so slow that there is no point in keeping any mapped. It's much more logical to have the CPU access the GPU's dedicated memory when necessary. (Primarily because that won't compete with other uses of system memory when the GPU goes to access it.)

For practical purposes, there are only two reasons they keep the shared memory capability at all. One is to retain the ability to operate the GPU with no dedicated memory at all. The other is just to be able to say they support "up to 3.75GB of video memory" or something like that for marketing purposes.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .