Why doesn't the value in /proc/meminfo seem to map exactly to the system RAM?
        Posted  
        
            by 
                Eric Asberry
            
        on Server Fault
        
        See other posts from Server Fault
        
            or by Eric Asberry
        
        
        
        Published on 2011-01-07T20:26:39Z
        Indexed on 
            2011/01/07
            20:55 UTC
        
        
        Read the original article
        Hit count: 254
        
The values in /proc/meminfo for MemTotal don't make sense. As a human, eyeballing it, it seems to roughly correspond to the installed RAM, but for using it to display the installed RAM from an automated utility it appears to be inexact, and inconsistent.
For a system with 1G of RAM, I would expect the MemTotal line to have a value of 1048576 - 1024*1024. But instead, I'm seeing 1029392. On another 4G box, I'm seeing 3870172, which is not a multiple of 1024, and it's not even close to 1029392*4. On an 8G box, I get 8128204, which again seems to have no correlation to the other values, nor is it a multiple of 1024.
I'm trying to use this information to report the RAM on a status web page. My work-around is to just "round" it to the nearest 1G multiple, but I'd like to understand why these values seem inconsistent and don't match my expectations.
Can somebody fill me in on what I'm missing here?
EDIT: To expand on the accepted answer below....
The reference can be found here.
Also of interest to me from that page, which explains the inconsistency, is this bit:
meminfo:
Provides information about distribution and utilization of memory. This varies by architecture and compile options. ...
© Server Fault or respective owner