Processor/IO memory ratio

Unanswered Question
Sep 19th, 2005
User Badges:

What determines the automatic processor/io memory ratio? I had two 2691s, same modules installed, same IOS versions and amount of memory, and pretty much the same configs. Yet, they had different ratios. Both did not have any memory commands. One had 10 MB reserved for IO, while the other one had 32 MB.

I forced one to be like the other using memory-size iomem command, but I was curious what factors affect how the default memory reserves are laid out.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)

The default is 40 percent for I/O memory and 60 percent for processor memory. Valid I/O memory percentage values are 10, 15, 20, 25, 30, 40 (the default), and 50. I/O memory size is the specified percentage of total memory size, rounded down to the nearest multiple of 1 MB. A minimum of 4 MB of memory is required for I/O memory. The remaining memory is processor memory.

To reallocate the percentage of DRAM to use for I/O memory and processor memory on routers, the memory-size iomem command in global configuration mode is used.

The memory-size iomem command does not take effect until you save it to NVRAM using the copy system:running-config nvram:startup-config EXEC command and reload the router. However, when you enter the command, the software checks whether the new memory distribution leaves enough processor memory for the currently running Cisco IOS image. If not, the following message appears:

Warning: Attempting a memory partition that does not provide enough Processor memory for the current image.If you write memory now, this version of software may not be able to run.

When you enter the reload command to run a new image, the software calculates the new processor and I/O memory split. If there is not enough processor memory, it automatically reduces I/O memory to an alternative setting to load the image. If there is still not enough processor memory for the image to run, then you do not have enough DRAM.

pehowell Fri, 09/23/2005 - 12:47
User Badges:

Thanks for your reply! That still does not explain why two routers: same model, same number and type of modules, and same amount of memory have two different ratios. Both were using the defaults, yet one had 10% for I/O, and the other had 25%. Neither had any memory-size commands in their configurations. Anyone have any other ideas?

routerwitch Thu, 10/06/2005 - 05:06
User Badges:

I'm guessing that the routers had different IOS images.

The default iomem size is 25% (not 40%) but the default means nothing if smartinit is enabled. In this case the router determines how much iomem it thinks it needs. I'd bet that the router with 25% iomem was an older image and the one with 10% was newer. The newer one probably had smartinit on by default and thus it decided to allocate 10% for iomem.


This Discussion