to know which all uses your memory you can use the below commands
R2#sh processes memory ?
init Display memory allocated for *Init*
mlite Display memory allocated for *MallocLite*
sched Display memory allocated for *Sched*
sorted Show sorted output based on memory used by process
| Output modifiers
what i think of memory would be,By default, RAM is broken up into two main areas - Main Processor Memory, and Shared I/O Memory. Main Processor Memory is where the routing table, ARP tables, and running configuration are stored. Shared I/O Memory is used as a buffer location for temporarily storing packets prior to processing.