Share This:

Several versions ago we separated the detection of RAM into two Host attributes:


  • ram: The amount of RAM (MB) installed on the host.
  • logical_ram: The amount of RAM (MB) available to the OS.


The "ram" would typically be the actual physical sum of all the RAM devices on a physical machine. Or the RAM allocated to a VM in (say) ESX, The "logical_ram" is what the OS sees and can use - usually a little less, once you remove overhead for (say) BIOS, video memory and other reservations. That's all well and good.


I have been looking at some customer data (a large estate of > 35k OSIs) and we found some apparent anomalies. We simply reported on the difference:


search Host where ram and logical_ram show name, ram - logical_ram as 'Difference'


and sorting on the difference. Most had a small positive value as expected, but we also found a few:


Very Large Positive Value


By large, I mean many tens of GB or more. These seemed to be physical machines, with a plenty of RAM, but we found the OSes that had been installed on them were not able to make use of all the RAM. We confirmed, for Windows and Red Hat.


So, Discovery was reporting correctly - and you could use a report like this to find installations were you were wasting RAM.


Negative Value


While you may be familiar with negative resistance, temperature or mass - surely not RAM. How could logical_ram be larger than ram? There were not many examples, but a few Windows and Linux, VMs on ESX. Discovery correctly reported what the respective OSes reported (via WMI or dmidecode). So far, we don't know the root cause, although my current guess is something in the ESX layer.


Have you seen examples like this in your estate? Could you share? I would really like to see if there are other examples out there.