-
New Feature Request
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
None
Currently there's no way in Zabbix agent to check the total amount of actually INSTALLED/PROVIDED memory in Linux (physical server or virtual machine).
The vm.memory.size[total] Zabbix agent key is consistent with "free" output. But the amount of memory returned by "free" is not equal to the memory installed/provided to the server (the latter can be checked by "dmesg | grep Memory:" or by dmidecode).
It's important to note that this does not have to do with differences between "Gigabyte" and "Gibibyte". Here are values taken from a virtual machine with 512 MB:
# dmesg | grep Memory [ 0.000000] Memory: 451404k/524288k available (7664k kernel code, 396k absent, 72488k reserved, 6055k data, 1876k init) # free -b total used free shared buff/cache available Mem: 509046784 106278912 157323264 26697728 245444608 332025856 Swap: 0 0 0
First value (524288k, in dmesg output) is actually in KiB - if you divide it by 1024 you get exactly 512 MB (as you're supposed to).
Second value (509046784, in free output) is in bytes. If you divide it by 1024 you get 497116 Kib.
The following Red Hat KB article explains a bit about the difference: https://access.redhat.com/solutions/454133
This feature request, then, is to suggest that we create a Zabbix agent item that returns the total amount of memory provided to/installed in a server.