X

Activity Monitor in 10.6 showing incorrect total system RAM

After installing OS X Snow Leopard, some people may notice Activity Monitor reporting a smaller amount of RAM than what is installed in the system. For instance, on my MacBook Pro with 4GB of installed RAM, Activity Monitor reports 3.75GB in Snow Leopard whereas in Leopard it reported the full 4GB.

Topher Kessler MacFixIt Editor
Topher, an avid Mac user for the past 15 years, has been a contributing author to MacFixIt since the spring of 2008. One of his passions is troubleshooting Mac problems and making the best use of Macs and Apple hardware at home and in the workplace.
Topher Kessler
3 min read

After installing Mac OS X Snow Leopard, some people may notice that Activity Monitor reports a smaller amount of RAM than what is installed in the system. For instance, my MacBook Pro has 4GB of RAM installed, but Activity Monitor reports that it has 3.75GB in Snow Leopard whereas in Leopard it reported the full 4GB.

According to Apple, this difference is because on these systems the GPU is using shared system RAM as video memory, resulting in a decreased amount being available for the rest of the system. The integrated GeForce 9400M on my system uses up to 256MB of RAM, so it would make sense that the total available RAM would fall to 3.75GB from 4GB when this GPU is being used.

Activity Monitor Window
The total RAM shown under the pie chart does not equal the sum of the numbers to the far left next to Available, Active, Inactive, and Wired. (Click for larger view)

A bug in Activity Monitor?
While this should be the quick answer, from several angles it appears this may be a bug in Activity Monitor.

For one, the amount of RAM reported under the pie chart in Activity Monitor does not equal the sum of the amounts listed for Wired, Free, Active, and Inactive memory. If you add up these amounts, the total is the same as the amount of RAM installed on the system (4GB) and not the number reported under the pie chart, which makes this number even more confusing.

Additionally, the lower amount could be from the GPU using the system RAM as Apple mentions; however, one would then expect that using the discrete GPU with its own video memory would result in a full availability of the system memory. After all, on Macs that only have discrete GPUs, Activity Monitor in Snow Leopard properly shows the full RAM amount. Nevertheless, upon switching GPUs from the integrated to the discrete processor on the MacBook Pro--which has its own video RAM and does not use shared system memory--Activity Monitor still reports the same lesser amount than what is installed in the system.

Furthermore, upon switching GPUs, there is also no notable change in the Free, Wired, Active, or Inactive memory usage, which suggests the 256MB of video RAM for the GPU is not being fully reserved from system memory. This also suggests the reported 3.75GB of total RAM is incorrect.

Dynamic video RAM allotment?
It is possible the system will only reserve "up to" 256MB of system memory for video uses but does so dynamically, so while up to 256MB of RAM is technically reserved and is reported as such in Activity Monitor, if the system is only using about 32MB for video purposes then the remaining 224MB may be available for use elsewhere.

OpenGL Driver Monitor Window
Despite it being "offline" the GeForce 9400M shows it has 256MB of video RAM available for it (blue line), even though according to the red line it is not using any of it. (Click for larger view)

Persistently active GPUs?
It is also possible that the integrated GPU may still be active and available for use even when the graphics are being routed through the discrete GPU, which would result in some memory being required for video-related content. In Snow Leopard, Apple implemented OpenCL and other hardware decoding that may use the integrated graphics processor (hardware H.264 decoding is supported in the GeForce 9400M chipset). Additionally, on more recent MacBook Pros the GPU switching is dynamic so the system may keep its handle on the reserved memory at all times even though it can be used by the rest of the system.

It would be nice for Activity Monitor to show exactly how much RAM is being used for video purposes at any one time, but until Apple implements this feature, you can use utilities like Apple's "OpenGL Driver Monitor" (available with the free developer tools) to check true video memory statistics. Oddly, this utility shows that even when I have the discrete GeForce 9600M being used, the integrated GPU still has 256MB of available video memory, even though it also shows the GPU as being "Offline."

Overall, why Activity Monitor shows a truncated RAM amount is unclear, but regardless of the specifics of what Activity Monitor is measuring, if you want a full report of the total RAM in the system you should use the "About This Mac" option in the Apple menu, or look up additional details in the System Profiler utility.



Questions? Comments? Have a fix? Post them below or e-mail us!
Be sure to check us out on Twitter and the CNET Mac forums.