Chris,
I would highly reccomend avoiding using here.getRRDValue, it really won't scale well.
Figuring the proper free memory can be best done using https://github.com/zenoss/ZenPacks.zenoss.CalculatedPerformance
My recently released Improved Linux Monitor ZenPack has a good example of how to do this for calculating free memory. https://github.com/Hackman238/ZenPacks.Rackspace.LinuxMonitor
In the image below (Memory graph from my Improved Linux Monitor) a new datapoint representing (((Free + Cached) - Buffers) * 1024) has been created and is represented by green. A simple Min/Max threshold can be set against that datapoint using ((here.hw.totalMemory/1024) * 0.95) or similar. In my ZenPack I've added a zProperty where one can dictate a percentage of free memory, below which a threshold is event is triggered. That threshold is represented by ((here.hw.totalMemory) * here.getFreeMemoryThresholdPercentLimit()) Helps simplify management.
This wil not only scale better, but will also simplify reporting on historical freeMemory (less calculations).
Best,
--Shane Scott (Hackman238)