Tech Tip: Cisco Buffer Tuning
Unnoticed packet loss in networks can adversely affect the applications using the network and one potential source of packet loss is the store-and-forward buffering used in Cisco routers. Cisco routers generally do an excellent job at handling network traffic, but sometimes a bit of buffer tuning will improve the process. In some rare cases, an IOS bug will never release buffers, eventually consuming all memory. Watching buffer creation and the total number of buffers (or memory) in use will alert you to places in the network where buffer tuning may be helpful.
Cisco divides system buffers into multiple sizes, which are used to hold packets being process switched, routing updates, telnet and ssh, and other purposes:
| Buffer Type |
Size (bytes) |
| Small | 104 |
| Middle | 600 |
| Big | 1524 |
| Very Big | 4520 |
| Large | 5024 |
| Huge | 18024 |
Each buffer type can have a number of permanent buffers, as well as minimum and maximum free buffers. The router will create new buffers as needed to handle the packet flows.
Automated systems such as NetMRI monitor buffer misses, failures, and no memory counters on a daily basis and identify routers where these counts are excessive. It is also useful to know what time of day the buffer counters changed so that you can determine the type of traffic involved and the application that is likely to be affected. NetMRI creates an issue when a router is experiencing excessive buffer misses or failures, or when there are any no memory counts.
In the above example, the maximum number of buffers exists in the pool, so it would be reasonable to increase the max count by a small percentage, say 20%, or 30 more buffers. The number of failures is .15% of the total number of buffer hits, so increasing the number of permanent buffers to 50 would be reasonable, given the buffer size of 600 bytes. The following commands would perform this change:
buffers middle permanent 50 buffers middle min-free 20 buffers middle max-free 180
Be careful when tuning buffers. You can exhaust system memory by allocating too many buffers, impacting routing protocols, telnet/ssh access, and other internal functions. At least a megabyte of free system memory is necessary in most routers for normal operation.
Look for our tech tip library at www.netcordia.com/resources.

