In Junos, there is clear separation of the control plane and the data plane and this is true for the CPU resources as well. This article covers how to check CPU utilization on the control plane and the data plane separately because there is no single command to monitor both at the same time.
This article is applicable to SRX Series devices, except for the following models:
CPU utilization on the control plane and data plane in SRX devices can be monitored via CLI commands or via Simple Network Management Protocol (SNMP) polling:
The Routing-Engine (RE) is the component that is in charge of the control plane and its CPU utilization can be monitored by using the show chassis routing-engine operational command.
[edit] root@SRX300-r1# run show chassis routing-engine Aug 08 14:51:47 Routing Engine status: Temperature 36 degrees C / 96 degrees F CPU temperature 49 degrees C / 120 degrees F Total memory 4096 MB Max 1106 MB used ( 27 percent) Control plane memory 2624 MB Max 708 MB used ( 27 percent) Data plane memory 1472 MB Max 397 MB used ( 27 percent) 5 sec CPU utilization: User 7 percent <<<<< Note the numbers highlighted in blue add up to 11.
Background 0 percent Kernel 4 percent Interrupt 0 percent Idle 89 percent Model RE-SRX300 Serial ID CV1017AF0484 Start time 2019-08-02 08:25:12 PDT Uptime 6 days, 6 hours, 26 minutes, 34 seconds Last reboot reason 0x1:power cycle/failure Load averages: 1 minute 5 minute 15 minute 0.14 0.10 0.06
If you want to check utilization via SNMP, you can use the MIB jnxOperatingCPU, specifically the OID jnxOperatingCPU.9.1.0.0, which displays the total CPU utilization of the RE.
[edit] root@SRX300-r1# run show snmp mib walk jnxOperatingCPU Aug 08 14:51:50 jnxOperatingCPU.1.1.0.0 = 0 jnxOperatingCPU.2.1.0.0 = 0 jnxOperatingCPU.7.1.0.0 = 0 jnxOperatingCPU.8.1.1.0 = 0 jnxOperatingCPU.9.1.0.0 = 11 < Represents the total CPU utilization of the RE. In Chassis Cluster, this is the RE of node 0. jnxOperatingCPU.9.1.1.0 = 0 < In Chassis Cluster, this is the RE of node 1.
[edit] root@SRX300-r1# run show snmp mib get .1.3.6.1.4.1.2636.3.1.13.1.8.9.1.0.0 Aug 08 14:51:52 jnxOperatingCPU.9.1.0.0 = 11
For monitoring CPU utilization at the data plane level, you can use the show chassis forwarding operational command on the Packet-Forwarding-Engine (PFE).
[edit] root@SRX300-r1# run show chassis forwarding Aug 08 15:06:31 FWDD status: State Online Microkernel CPU utilization 12 percent Real-time threads CPU utilization 0 percent Heap utilization 27 percent Buffer utilization 1 percent Uptime: 6 days, 6 hours, 37 minutes, 44 seconds
If you want to check CPU utilization via SNMP, you can use the MIB jnxFwddProcess, specifically the OID jnxFwddRtThreadsCPUUsage.0.
[edit] root@SRX300-r1# run show snmp mib walk jnxFwddProcess Aug 08 15:06:34 jnxFwddMicroKernelCPUUsage.0 = 12 jnxFwddRtThreadsCPUUsage.0 = 0 jnxFwddHeapUsage.0 = 27 jnxFwddDmaMemUsage.0 = 1 jnxFwddUpTime.0 = 542275 [edit] root@SRX300-r1# run show snmp mib get .1.3.6.1.4.1.2636.3.34.1.2.0 Aug 08 15:06:37 jnxFwddRtThreadsCPUUsage.0 = 0
The above outputs were taken from an SRX300 device that is running Junos version OS 15.1X49-D180.
2025-12-19: Minor, non-technical modifications to optimize search