Michael Van Canneyt wroteYour best options is most likely to read /proc/meminfo and parse the result.
It contains a wealth of information.
Just a side note:
/proc/meminfo is specific to Linux, and doesn't apply to other Unix-like operating systems like Solaris, FreeBSD etc.
For example, under FreeBSD you can execute the following command and read the results back.
$ /sbin/sysctl hw.physmem
hw.physmem: 34,272,751,616
..and similar for other hardware under FreeBSD:
$ /sbin/sysctl hw.model
hw.model: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
Also worthy noting that the sysctl command can be executed without root access, even though it lives in the 'sbin' directory. This is super handy.
Landmesser John, if you look in the OnGuard project in the source/onguard.pas unit, there is code for Windows, Linux and FreeBSD (latter is still limited info) that extracts such information. You are welcome to copy some of that code as you need it.
The OnGuard Git repository can be found in the link below, and the web interface also has a "download zip" option.
https://github.com/graemeg/onguard
Regards,
Graeme