On most Cisco routers available physical memory is allocated to two different memory pools within the router, Processor Pool and I/O Pool. the Processor Pool gets 75% of the physical and the I/O pool gets 25%. Neither of these pools can be re-allocated if, say, one is running short. The way the NPM works is that it gives you the memory utilization of the whole memory rather than the individual pools. You can have your Processor memory run at almost 100% of its share and yet the overall memory utilization not be any higher than 80%, and therefore not knowing your device is about to give you MALLOC errors.
It would be best if SolarWinds could provide two gauges, or charts as I would prefer it, to accurately show the utilization of each pool.