Redistribution of free memory - c806.

Device: c806 with c806-k9o3sy6-mz.123-11.T10.bin

Cisco C806 (MPC855T) processor (revision 0x301) with 47104K/2048K bytes of memory.

c806#sh mem sum Head Total(b) Used(b) Free(b) Lowest(b) Largest(b) Processor 815336A4 26003804 9985508 16018296 15891232

15979940 I/O 2E00000 2097152 1203960 893192 747632 758996 Critical 81C0CEE4 94756 40 94716 94716 94716 Critical 2F44D24 7644 40 7604 7604 7604

Free Processor Memory: 16,018,296 bytes Free I/O Memory: 893,192 bytes

I'd like to redistribute available free memory so that more is available to I/O.

The "memory-size iomem xx" command is not available on this device.

c806(config)#memory? memory

c806(config)#memory ? free free memory low water mark lite Enable/disable memory lite reserve reserve memory sanity Enable memory sanity

Any suggestions on how I would accomplish this goal given the absence of the "memory-size iomem xx" command?

Best Regards, News Reader

Reply to
News Reader
Loading thread data ...

=A0 =A0 =A0Used(b) =A0 =A0 Free(b)

=A0 =A0893192

I presume that you have tried putting in the whole command exactly as you want it? Just in case it is a bug/feature of the exec? I have used this command on an 837 but to incease the amount of processor mem.

I am curious why you need this? Just for interest.

What happens if you use it all up? Not that I know how to. Create a LOT of intrfaces of some kind (tunnels?), increase interface queue lengths maybe?

I suppose you will know how to use it up or you wouldn't want more:-)

Reply to

Yes. It responds with an indication that the command is invalid.

I'm revisiting this device due to an experience encountered on another branch office router (1700 series). Numerous changes to the 1700 configuration were made (AAA, APPFW, GPI). Some time thereafter, the absence of AAA accounting was observed. That was followed by an inability to login (via SSH) to the device through the IPSec + GRE tunnel. It was discovered that the device didn't have enough Processor Memory to authenticate the remote administrator.

54019: c17xx: May 5 19:18:42.216 EDT: %AAA-3-ACCT_LOW_MEM_UID_FAIL: AAA unable to create UID for incoming calls due to insufficient processor memory

From now on, we'll do a better job of monitoring free-memory distribution before and after significant changes to the configuration.

Following installation of more memory, we adjusted our prior settings for the "memory-size iomem xx" command.

Memory that was bumped out of the c17xx was installed into the c806 because it was being pushed to its limits (site-to-site IPSec + GRE, RAVPN, etc.). A review of the distribution of Free Processor and Free I/O memory showed the I/O memory with less of a margin than desired (Free Processor Memory is now abundant).

I've not experienced an exhaustion of I/O memory. Hope not to.

I did encounter references to "smartinit" IOS images in some documentation.

I'm not exactly sure if the I/O memory allotment is dynamically adjusted in the absence of the "memory-size iomem xx" (or similar) command. Perhaps another poster will shed some light on the subject.

I'd probably prefer to take direct control over the distribution of free memory, when its an option.

Best Regards, News Reader

Reply to
News Reader

) =A0 =A0 =A0Used(b) =A0 =A0 Free(b)

60 =A0 =A0893192

My understanding is that IO memory is allocated at startup depending on the number / type or interfaces and does not change in service. This MAY not be the case with dynamic interfaces that can appear and disappear but I have never really used that facility.

I have NEVER heard of anyone running out of IO memory after initial boot and I would not worry about it if you only have say a couple of dialer interfaces. I have experienced various memory leaks and othr issues with process memory which is allocated and freed on a continuous basis by the router.

Most recently an internet side switch had proxy arp enabled and no default route and insufficient security. Over time the ARP table simply filled the memory as various internet sourced probes hit it. Crashed every year, regular as clockwork. Well it did it twice before it was investigated:-)

Reply to

I think this is due to the SmartInit image.

We use the low-watermark command(s) to generate syslog messages when free memory drops below a specified threshold.

memory free low-watermark processor xxxx memory free low-watermark IO xxxx

I have witnessed the following regarding "I/O" memory:

7604: router-X: Nov 4 19:10:41.641 EST: %SYS-4-FREEMEMLOW: Free Memory has dropped below low watermark 7605: router-X: Pool: I/O Free: XXXXXX freemem_lwm: YYYYYY

Unfortunately, I don't have the whole log file that these entries were extracted from so I can not confirm whether this occurred during a reload, or in service. It occurs to me now that it really doesn't matter anyway since the configured threshold is above the point of exhaustion. However, it does make me wonder why the command would exist, if exhaustion could never occur with I/O memory.

A "show memory summary" often shows the "Lowest" amount of free I/O memory recorded is less than the currently "Free" I/O memory. I'm not sure what prevents the exhaustion of "Total" I/O memory allocated.

Good to know.

Thanks for the dialog/dialogue.

Best Regards, News Reader

Reply to
News Reader Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.