Typically, high memory usage isn't a concern as the system will attempt to cache things into memory for better performance. The system is intelligent enough to free up cache as it requires more active memory.
The Linux kernel will frequently consume nearly as much RAM as is available on a system, and use it for various buffers and caching.
A process may launch, and require some memory, then release the memory when it quits; however, the Linux kernel may leave the memory 'cached' and not report it as 'free'. When a new process starts up, the same thing happens, and it then seems that the memory is not being marked as 'free'; however, the OS is simply caching the memory
Below is a partial output from "show module status" contained in show-tech for slot 13: (CPM)
DRAM 1 Size 1048576(KB)
SDRAM 2 Size 0(KB)
SDRAM 3 Size 0(KB)
SDRAM 4 Size 0(KB)
Total Memory 1026520(KB)
Used Memory 961460(KB)
Free Memory 65060(KB)
Shared Memory 0(KB)
Buffers Memory 379308(KB)
Cached Memory 397420(KB)
So the amount of currently available memory for application would be:
Free Memory + Buffers Memory + Cached Memory
65060(KB) + 379308(KB) + 397420(KB)= 800MB
For memory availability monitoring purposes, it would be more convenient to monitor the sum of "Free Memory + Buffers Memory + Cached Memory".
If there was a memory issue , you would notice events in the logs indicating modules reboot or processes being killed to reclaim memory due to OOM (Out of memory) condition. In an OOM situation, please open a case with support for investigation.