无法使用SNMP获取PHP中的实际当前使用情况和可用RAM

Im planning to fetch RAM usage on server,i tried SNMP in PHP on my own pc but when i wanna get the percentage usage of RAM,that return is not the real RAM usage compare with system monitor on my pc.

i have read this solution below but still i didnt get right value

(Used – buffers – cached) / Total * 100 = % memory used

So you could get the following (expressed as Perl code):

my $memRealTotalOID = '.1.3.6.1.4.1.2021.4.5.0';

my $memRealAvailOID = '.1.3.6.1.4.1.2021.4.6.0';

my $memRealBuffersOID = '.1.3.6.1.4.1.2021.4.14.0';

my $memRealCachedOID = '.1.3.6.1.4.1.2021.4.15.0';

Memory Calculations my $memRealUsed = $memRealTotal - $memRealAvail;

Then you can alert on % RAM used:

my $realPercent = (($memRealUsed - $memRealBuffers - $memRealCached )/ $memRealTotal) * 100;

Here is my code and the result:

snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
    $memRealTotalOID = snmpget("127.0.0.1", "public", ".1.3.6.1.4.1.2021.4.5.0");
    $memRealAvailOID = snmpget("127.0.0.1", "public", ".1.3.6.1.4.1.2021.4.6.0");
    $memRealBuffersOID = snmpget("127.0.0.1", "public",'.1.3.6.1.4.1.2021.4.14.0');
    $memRealCachedOID = snmpget("127.0.0.1", "public",'.1.3.6.1.4.1.2021.4.15.0');
    $memRealUsed = $memRealTotalOID - $memRealAvailOID;

    $realPercent = (($memRealUsed - $memRealBuffersOID - $memRealCachedOID) / $memRealTotalOID) * 100;
    print_r($realPercent);

the current result is = 82.55542380

meanwhile system monitor is showing (89%): enter image description here

Did i read wrong solution or wrong calculation?Any help pls