Guest

Cisco Catalyst 4500 Series Switches

Memory Utilization on Cisco Catalyst 4500 Series Switches

  • Viewing Options

  • PDF (140.9 KB)
  • Feedback

What You Will Learn

This application note is intended to provide guidance on tracking memory utilization on Cisco ® Catalyst ® 4500 Series Switches used by various features. The note applies to systems with the following supervisor engines:

• WS-X4013+

• WS-X4013+TS

• WS-X4013+10GE

• WS-X4515

• WS-X4516

• WS-X4516-10GE

• WS-X45-SUP6-E

• WS-X45-SUP6L-E

• WS-X45-SUP7-E

• WS-X45-SUP7L-E

All the outputs are taken with systems running Cisco IOS ® Software Release 12.2(52)SG. Table 1 lists the default size of SDRAM for different products mentioned above.

Table 1. Default SDRAM Table Size for Cisco Catalyst 4500 Supervisors

Product ID

Default Size of SDRAM

WS-X4013+

256 MB

WS-X4013+TS

256 MB

WS-X013+10GE

256 MB

WS-X4515

512 MB

WS-X4516

512 MB

WS-X4516-10GE

512 MB

WS-X45-SUP6-E

1 GB*

WS-X45-SUP6L-E

512 MB

WS-X45-SUP7-E

2 GB

WS-X45-SUP7L-E

2 GB

WS-C4948-E

1 GB

WS-C4948

256 MB

WS-C4948-10GE

256 MB

WS-C4928-10GE

256 MB

ME 4924-10GE

256 MB

WS-C4900M

1 GB*

* Going forward WS-X45-SUP6-E will have a default 1GB of SDRAM as oppose to 512MB.

Challenge

SDRAM memory in switches is used by variety of features: routing protocols, Layer 2 protocols, dot1x, and Address Resolution Protocol (ARP), to name a few. SDRAM is a limited resource in the system, and customers find it challenging to see how best to keep track of which features are utilizing what amount of memory. We will show here some examples as to how the memory is taken by certain features, so that scale of a feature can be predetermined.

Memory Consumed by VLAN Port Instances

Before it can be demonstrated how much memory is consumed by VLAN port instances, it is important to define a VLAN port instance. A Layer 2 port can have a single port instance if it is defined as a Layer 2 access port with only one VLAN in spanning tree forwarding state. A single VLAN being carried on any port constitutes a VLAN port instance. So, on a Layer 2 trunk port, if 100 VLANs are allowed, that would mean an instantiation of 100 VLAN port instances for that particular Layer 2 trunk port. Each of these VLAN port instances requires a data structure to be kept in SDRAM and consumes a certain amount of memory. The following example illustrated how much memory is consumed by each of these VLAN port instances.
We have a switch that has ports 1/3 through 1/8 with the following configuration. Initially, all of these ports are administratively shut down. Each port is configured to carry 4085 VLANs.
interface GigabitEthernet1/3-8
switchport trunk native vlan 10
switchport trunk allowed vlan 1-4094
switchport nonegotiate
end
switch#sho int trunk
Port Mode Encapsulation Status Native vlan
Gi1/3 trunk n-802.1q trunking 10
Gi1/4 trunk 802.1q trunking 10
Port Vlans allowed on trunk
Gi1/3 1-4094
Gi1/4 1-4094
Port Vlans allowed and active in management domain
Gi1/3 1-1001,1006-3001,3003-3047,3050-4094
Gi1/4 1-1001,1006-3001,3003-3047,3050-4094
Port Vlans in spanning tree forwarding state and not pruned
Gi1/3 1,2-46,50-1001,1006-3001,3003-3047,3050-4094
Gi1/4 1,2-46,50-1001,1006-3001,3003-3047,3050-4094
Now the ports are brought up in pairs, and the available memory is checked at each step to calculate how much memory is being consumed.
switch#show ip int brief | e down
Interface IP-Address OK? Method Status Protocol
GigabitEthernet1/3 unassigned YES unset up up
GigabitEthernet1/4 unassigned YES unset up up
switch#show proc mem | i Free:
Processor Pool Total: 220236656 Used: 163565252 Free: 56671404
Now ports 1/5 and 1/6 are brought up.
switch(config)#interface r gig 1/5-6
switch(config-if-range)#no shut
switch(config-if-range)#end
switch#show ip int brief | e down
Interface IP-Address OK? Method Status Protocol
GigabitEthernet1/3 unassigned YES unset up up
GigabitEthernet1/4 unassigned YES unset up up
GigabitEthernet1/5 unassigned YES unset up up
GigabitEthernet1/6 unassigned YES unset up up
switch#show proc mem | i Free:
Processor Pool Total: 220236656 Used: 165819584 Free: 54417072
Now ports 1/7 and 1/8 are brought up.
switch(config)#interface r gig 1/7-8
switch(config-if-range)#no shut
switch(config-if-range)#end
switch#show ip int brief | e down
Interface IP-Address OK? Method Status Protocol
GigabitEthernet1/3 unassigned YES unset up up
GigabitEthernet1/4 unassigned YES unset up up
GigabitEthernet1/5 unassigned YES unset up up
GigabitEthernet1/6 unassigned YES unset up up
GigabitEthernet1/7 unassigned YES unset up up
GigabitEthernet1/8 unassigned YES unset up up
switch#show proc mem | i Free:
Processor Pool Total: 220236656 Used: 168075388 Free: 52161268
Now that we have the information about free memory available after bringing each set of two pairs, we can calculate how much memory is taken by each VLAN port instance.
Processor Pool Total: 220236656 Used: 163565252 Free: 56671404 ( after bringing ports 1/3-4 up)
Processor Pool Total: 220236656 Used: 165819584 Free: 54417072 ( after bringing ports 1/5-6 up )
Processor Pool Total: 220236656 Used: 168075388 Free: 52161268 ( after bringing ports 1/7-8 up )
First delta is 2254332; second delta is 2255804. If we divide by 2 (ports) and then by 4085 (VLANs), we arrive at 276 bytes per VLAN port instance, which could be used for a rough estimation how many more VP instances software can accommodate provided there will be no more other features used.

Memory Consumed by Routes

As mentioned at the beginning of this document, many features use the SDRAM to keep the data structures and tables associated with a feature. Routing is one such process. Even though the routes are installed in TCAMs, a software copy of the routing table is also kept in SDRAM. Here are some examples of memory utilization with different configurations.
These examples are taken on a system running WS-X45-SUP6-E running Cisco IOS Software Release 12.2(52)SG.

• A system with a single routing protocol with 180,000 routes learned consumes about 472 MB of memory.

• A system with a single routing protocol with 190,000 routes learned consumes about 482 MB of memory.

• A system with a single routing protocol with 200,000 routes learned consumes about 492 MB of memory.

As you see, 10,000 routes consume about 10 MB of memory. Each additional route consumes 1048 bytes of memory.
Memory consumption of Cisco IOS Software varies from one version to another and depends on software features included in a particular release. Also, based on running/startup configuration, the software will allocate memory during system initialization. So the user must keep in mind that a certain amount of memory will be allocated without any configuration in the system, and as the features are configured, memory is taken from the available pool.

TCAM Memory Utilization by Quality of Service and Access Control List Features

Ternary content-addressable memory (TCAM) is a special high-speed memory that allows customers to enable features such as access control lists (ACLs), quality of service (QoS), and policy-based routing and still do packet forwarding at wire rate without any performance impact. Like with any other resource in the system, there is a limited TCAM space in the system, and one must understand how to track the TCAM utilization to make sure the TCAM limits are not exceeded. The ACL, QoS, or PBR entries that cannot be programmed into TCAM are software switched and can result in performance degradation.
For more information about how TCAM memory is utilized for features such as QoS and ACL, refer to http://www.cisco.com/en/US/products/hw/switches/ps663/products_tech_note09186a008054a499.shtml.