Showing results for 
Search instead for 
Did you mean: 
Level 1
Level 1


This document provides a sample configuration for Embedded Event Manager (EEM) script on Cisco Nexus 7000 Series Switches to monitor the CPU utilization. EEM scripts have been used to automate common diagnostics and troubleshooting scenarios that occur on your device based on network events.



Make sure that you meet these requirements before you attempt this configuration.

  • Have a basic knowledge of configuration on Nexus 7000 Series Switches.
  • Have a basic understanding of Embedded Event Manager (EEM) scripts.

Components Used

The information in this document is based on the Nexus 7000 Series NX-OS devices, started with a cleared (default) configuration. Before using this configuration make sure that you understand the potential impact of any command.


In this section, you are presented with EEM script configuration to monitor the Nexus 7000 CPU utilization, once it gets above a pre-defined threshold (in this example we use 50%) it will start to execute the commands. The output of the commands will get written to the bootflash which has the information gathered during the period of high CPU utilization.

From this output we can diagnose what causes the CPU to jump up periodically. This EEM script should be configured in the default VDC (virtual device context). It will capture “show proc cpu sort” output in each VDC and write the files to bootflash.


This document uses this EEM Script configuration.


  1. Create and register the applet with EEM and enter applet configuration mode.
  2. Enter the command to trigger an event based on SNMP object identifier (OID) cross the entry threshold.
  3. Configure the action statements which trigger the action.

Sample configuration given below,

switch(config)#event manager applet highcpu

switch(config-applet)#event snmp oid get-type exact entry-op ge entry-val  50 poll-interval 1

switch(config-applet)#action 0.1 syslog msg High CPU DETECTED "show process cpu sort" written to  bootflash:highcpu.txt

switch(config-applet)#action  0.2 cli enable

switch(config-applet)#action  0.3 cli show process cpu sort >> bootflash:highcpu.txt

switch(config-applet)#action  0.4 cli show process cpu hist >> bootflash:highcpu.txt

switch(config-applet)#action  0.5 cli switchto vdc Core

switch(config-applet)#action  0.6 cli show process cpu sort >> bootflash:highcpu_Core.txt

switch(config-applet)#action  0.7 cli exit

switch(config-applet)#action  0.8 cli switchto vdc Distribution

switch(config-applet)#action  0.9 cli show process cpu sort >> bootflash:highcpu_Dist.txt

switch(config-applet)#action  1.0 cli exit


The output of the commands will be stored in three separate files in bootflash.

The three files will be:





From these three files we can diagnose what causes the CPU to jump up periodically.

Related Information

Cisco Employee
Cisco Employee

Please correct this script. It has too agressive polling interval. Collection of the command will take longer then polling interval (up to 3-4 secondes), so this script may generate domino effect and run multiple EEM instances in background. More safe polling interval would be 10 secondes. Also, this EEM script always write to the same file which will grow after some time, so it may cause additional load when file is too big.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: