Today I needed to get interested in how memory works at the IOS, so here is a quick article about it with the information I could find here and there, you might be interested.Especially the IOS commands to check the memory status of your router.
Like any OS, IOS must implement a number of basic principles:
* Process Management
* Memory Management
* Device Management
We’ll look specifically at the system memory management. Recent work with OS protected memory.A process x can not access the memory of a process y (Shared Memory, Message Queues, Pipes, Network Connections, …). For the process x process dialogue with it, they will have to use other methods (Shared Memory, Message Queues, Pipes, Network Connections, …). These methods secure processes between them, but nevertheless they work slow. The IOS does not support shared memory, all processes have access to the memory without restrictions.A process is therefore free to interact with one another in writing in the memory of the latter (Buffer Overflow = Crash).There is however a notion of memory R / W and R / W
IOS works with memory pools, the Pool Manager who is responsible.Here, a pool reserved for the procesand a pool reserved for I / O:
Router # show memory Head Total (b) Used (b) Free (b) Lowest (b) Largest (b) Processor 653B8C20 155481056 86243592 69237464 68168948 67670028 I/O EE800000 25165824 5269012 19896812 19819968 19871932
Head: beginning the pool
Total: pool size in bytes
Used: current use of the pool in bytes
Free : current free memory pool in bytes
Lowest :free memory historically the lowest in bytes
Largest :The largest contiguous block of free memory
Region Manager : These same pools belong to regions of memory managed by the Region Manager:
Router # show region
Region Manager:
Start End Size (b) Class Media Name
0×0E800000 0×0FFFFFFF iomem 25165824 R / W iomem: (iomem)
0×60000000 243269632 0×6E7FFFFF Room R / W Hand
0×6000F000 0×632FFFFF iText 53415936 R / O main: text
0×63300000 28310784 0×64DFFCFF iData R / W main: data
0×64DFFD00 0×653B8C1F IBSS 6000416 R / W main: bss
0×653B8C20 0×6E7FFFFF 155 481 056 Room R / W main: heap
0×80000000 243269632 0×8E7FFFFF Room R / W main: (main_k0)
0xA0000000 0xAE7FFFFF 243 269 632 Room R / W main: (main_k1)
0xEE800000 0xEFFFFFFF iomem 25165824 R / W iomem
The Processor memory pool is within the area hand heap. This region is part of the region starting in hand 0 × 60000000 and ends at 0 × 6E7FFFFF. The memory pool I / O is the region of iomem 0xEE800000 to 0xEFFFFFFF.
Read the rest of this entry »


