Amount of memory available How much memory available to cudaMalloc?

On my card cudaGetDeviceProperties, reports the following information:

Device GeForce 8800 GTS / Version 1.0 / Memory 319.7MB

I interpreted this as 319.7MB being available for usage in CUDA. But then I tried to allocate 8192x8192x4 bytes with cudaMalloc and it failed (returns a 0 pointer).

After some experimentation it appears the maximum amount I can allocate successfully is 227 MB. What happened to the other 93MB? Is it used by the operating system? If so, this is really a lot. Is there a way to query the real amount of memory available for usage on the card?

Edit: this amount appears to depend on the amount of windows open, and whether the X server is visible.
275Mb is available after switching to console mode (ctrl-alt-f1). This is better at least.