Identify Available Software and Hardware Resources
Learn how to find available software and hardware resources on your MX204, MX301, MX304, MX10004, or MX10008 router.
The Routing Engine serves as the control plane for MX platform. It runs Junos OS, maintains routing protocols, and manages the chassis. To detect capacity issues, unexpected processes, or hardware problems before they impact network traffic, you must regularly monitor the Routing Engine's CPU, memory, and buffer resources.
You must know a few commands to monitor these hardware and software resources on Juniper MX204, MX301, MX304, MX10004, and MX10008 routers.
Use the show chassis routing-engine command to view the status of both
Routing Engine slots (primary and backup). This command displays temperature, DRAM usage,
CPU utilization, uptime, and load averages.
regress@rct3-mx10004-a> show chassis routing-engine
Routing Engine status:
Slot 0:
Current state Master
Election priority Master (default)
Temperature 41 degrees C / 105 degrees F
CPU temperature 41 degrees C / 105 degrees F
DRAM 49093 MB (49152 MB installed)
Memory utilization 7 percent
5 sec CPU utilization:
User 15 percent
Background 0 percent
Kernel 1 percent
Interrupt 0 percent
Idle 84 percent
...
Model RE X10
Start time 2026-04-26 11:50:20 PDT
Uptime 17 hours, 39 minutes, 20 seconds
Last reboot reason 0x2000:hypervisor reboot
Load averages: 1 minute 5 minute 15 minute
1.37 1.43 1.35
Routing Engine status:
Slot 1:
Current state Backup
Key fields:
|
Field |
Description |
Healthy Threshold |
|---|---|---|
Temperature / CPU temperature |
Routing Engine board and CPU die temperature | < 55°C typical |
Memory utilization |
Percentage of installed DRAM in use | < 80% |
User CPU |
Time consumed by user-space daemons (RPD, chassisd…) | < 70% sustained |
Kernel CPU |
Time consumed by kernel tasks | < 20% sustained |
Interrupt CPU |
Time consumed by hardware interrupts | < 10% |
Idle CPU |
Available CPU headroom | > 30% recommended |
Load averages |
1/5/15 min UNIX load averages — should be stable | Stable and proportional to CPU count |
Last reboot reason |
Last known cause of Routing Engine restart | Investigate if unexpected |
CPU utilization is reported over four time intervals: 5 seconds, 1 minute, 5 minutes,
and 15 minutes. Short‑term spikes in the 5‑second interval are typically normal.
Investigate sustained high user CPU utilization across all intervals by using the
show system processes extensive command.
Process-Level CPU and Memory Usage
The show system processes summary command provides a real-time
UNIX-style process table, equivalent to the top utility. It identifies
which processes consume the most CPU and resident memory.
regress@rct3-mx10004-a> show system processes summary last pid: 2202; load averages: 1.31, 1.41, 1.35 up 0+17:39:33 05:29:53 1118 threads: 10 running, 1051 sleeping, 2 zombie, 55 waiting CPU: 14.8% user, 0.0% nice, 0.6% system, 0.1% interrupt, 84.5% idle Mem: 318M Active, 7142M Inact, 2099M Wired, 1222M Buf, 37G Free Swap: 12G Total, 12G Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 24875 root 135 0 716M 7272K CPU3 3 17.6H 10.00% capsuled 25955 root 23 0 216M 99M select 0 45:01 3.96% na-grpcd 25928 root 21 0 881M 59M select 1 36:14 2.98% jsd 25926 root 21 0 925M 188M select 6 32:50 2.78% jinsightd 24822 root 23 0 919M 99M select 2 27:21 2.39% chassisd
Key columns:
|
Column |
Description |
|---|---|
|
SIZE |
Virtual memory allocated to the process |
|
RES |
Actual resident memory (physical RAM used) — the most meaningful field |
|
WCPU |
Weighted CPU usage — primary indicator of CPU load per process |
|
TIME |
Cumulative CPU time consumed since start |
|
STAT |
Process state: |
Use show system processes extensive for the full untruncated process
list, sorted by CPU. Look for any non-idle daemon with unexpectedly high
WCPU or RES, such as rpd,
chassisd, or jinsightd.
System Memory Distribution
To verify the full kernel memory breakdown and per-process virtual and resident memory
usage, run the show system memory command:
regress@rct3-mx10004-a> show system memory
System memory usage distribution:
Total memory: 50271648 Kbytes (100%)
Reserved memory: 1309748 Kbytes ( 2%)
Wired memory: 2149668 Kbytes ( 4%)
Active memory: 325212 Kbytes ( 0%)
Inactive memory: 7313496 Kbytes ( 14%)
Cache memory: 0 Kbytes ( 0%)
Free memory: 39194600 Kbytes ( 77%)
Memory segment descriptions:
|
Segment |
Description |
|---|---|
|
Reserved |
Memory reserved by the kernel and not available to processes |
|
Wired |
Kernel pages that cannot be paged out (always in RAM) |
|
Active |
Memory currently in active use by processes |
|
Inactive |
Recently used memory, reclaimable if needed |
|
Cache |
File system cache |
|
Free |
Immediately available memory |
In this output, 77% free memory indicates a healthy, lightly loaded Routing Engine. Memory pressure typically appears as a decrease in free and inactive memory, an increase in active memory, and potential swap usage.
Network Buffer Usage
To verify kernel network buffer (mbuf) usage, run the show system
buffers command. The FreeBSD-based Junos kernel uses these memory structures
to process network packets in the control plane.
regress@rct3-mx10004-a> show system buffers 14199/21621/35820 mbufs in use (current/cache/total) 12312/13762/26074/3060094 mbuf clusters in use (current/cache/total/max) 4095/5557 mbuf+clusters out of packet secondary zone in use (current/cache) 768/3296/4064/1530047 4k (page size) jumbo clusters in use (current/cache/total/max) 0/0/0/453347 9k (page size) jumbo clusters in use (current/cache/total/max) 0/0/0/255007 16k (page size) jumbo clusters in use (current/cache/total/max) 31248K/46113K/77362K bytes allocated to network (current/cache/total) 0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters) 0/0/0 requests for jumbo clusters denied (4k/9k/16k)
Key indicators:
|
Field |
Description |
Warning Sign |
|---|---|---|
|
mbufs in use (current) |
Control-plane packet buffers actively used |
Approaching total/max |
|
requests denied |
Allocation failures for mbufs or jumbo clusters |
Any non-zero value |
|
requests delayed |
Delayed buffer allocations due to exhaustion |
Any non-zero value |
|
Jumbo cluster utilization |
Large packet buffer usage (4k/9k/16k pages) |
Current approaching max |
Any non-zero value in the denied or delayed lines
indicates that the kernel failed to allocate network buffers. This failure can cause
control-plane packet drops—including BGP keepalives, OSPF hellos, or BFD PDUs—and
requires immediate investigation.
To prevent traffic forwarding failures, you must regularly monitor Flexible PIC Concentrator (FPC) and Packet Forwarding Engine resources. Ensure the system maintains adequate headroom for next-hops, firewall filters, logical interface (IFL) counters, and class of service (CoS) queues. Exhausting any of these hardware resources causes traffic forwarding to fail, even when the Routing Engine (RE) remains healthy.
To verify the operational state, temperature, CPU utilization across three time windows,
DRAM size, heap usage, and buffer utilization for all installed line cards, run the
show chassis fpc command:
regress@rct3-mx10004-a> show chassis fpc
Temp CPU Utilization (%) CPU Utilization (%) Memory Utilization (%)
Slot State (C) Total Interrupt 1min 5min 15min DRAM (MB) Heap Buffer
0 Online 38 1 0 1 1 1 32768 30 0
1 Empty
2 Online 40 1 0 1 1 1 32768 30 0
3 Online 38 3 0 2 2 2 32768 23 0
Key fields:
|
Field |
Description |
Warning Threshold |
|---|---|---|
|
State |
FPC operational status |
Anything other than |
|
Temp (C) |
FPC board temperature |
> 55°C typical |
|
Total CPU |
Overall FPC CPU utilization (microkernel) |
> 80% sustained |
|
Interrupt CPU |
CPU time consumed by hardware interrupts |
> 10% sustained |
|
Heap (%) |
Percentage of FPC heap (ukern) memory used |
> 70% (configurable threshold) |
|
Buffer (%) |
Packet buffer utilization on the FPC |
> 80% |
To verify per-FPC hardware details—including total DRAM, High Bandwidth Memory (HBM)
used by Trio ASICs for forwarding tables, power consumption, operating bandwidth, and
active Packet Forwarding Engines with their individual bandwidth—run the show
chassis fpc <slot> detail command:
regress@rct3-mx10004-a> show chassis fpc 0 detail Slot 0 information: State Online Total CPU DRAM 32768 MB Total HBM 49152 MB FIPS Capable True Start time 2026-04-26 11:56:29 PDT Uptime 17 hours, 41 minutes, 59 seconds Max power consumption 1005 Watts Operating Bandwidth 4800 G PFE Information: PFE Power ON/OFF Bandwidth SLC 0 ON 800G 1 ON 800G 2 ON 800G 3 ON 800G 4 ON 800G 5 ON 800G
Key fields:
|
Field |
Description |
|---|---|
|
Total CPU DRAM |
General-purpose DRAM available to the FPC microkernel (heap) |
|
Total HBM |
High bandwidth memory dedicated to forwarding table storage (next-hops, routes, filters) |
|
Max power consumption |
Rated max pwer draw—relevat for power budget planning |
|
Operating Bandwidth |
Total aggregate bandwidth of the FPC (sum of all active PFEs) |
|
PFE Bandwidth |
Per-Packet Forwarding Engine forwarding capacity—800G per PFE on this MX10004 LC |
To verify hardware error events at both the board (FPC microkernel) and Packet
Forwarding Engine (ASIC) scope across multiple categories and severity levels, run the
show chassis fpc errors command:
regress@rct3-mx10004-a> show chassis fpc errors
FPC Scope Category Level Occurred Cleared Threshold Action-Taken Action
0 board functional Minor 1 0 1 2 LOG|CM ALARM|
Major 0 0 1 0 GET STATE|CM ALARM|
Fatal 0 0 1 0 GET STATE|RESET
...
pfe functional Minor 0 0 1 0 LOG|CM ALARM|
Major 0 0 1 0 GET STATE|CM ALARM|DISABLE PFE
Fatal 0 0 1 0 GET STATE|RESET
...
Pfe-State: pfe-0 -ENABLED | pfe-1 -ENABLED | ... | pfe-5 -ENABLED |
Output structure:
|
Column |
Description |
|---|---|
|
Scope |
|
|
Category |
Error domain: |
|
Level |
Severity: |
|
Occurred |
Total number of times this error has triggered |
|
Cleared |
Number of times the error condition self-resolved |
|
Action-Taken |
Count of times an action was triggered |
|
Action |
System response: |
Error severity and associated automatic actions:
|
Severity |
Board Action |
PFE Action |
|---|---|---|
|
Minor |
|
|
|
Major |
Collect state + chassis alarm |
Collect state + chassis alarm + disable PFE |
|
Fatal |
Collect state + FPC reset |
Collect state + FPC reset |
You must immediately investigate any Major or Fatal error that shows a non-zero count in the Occurred column. If a Minor functional error occurs at the board scope, correlate the event against syslog messages and Juniper JTAC advisories. To confirm which packet forwarding engines remain active, check the Pfe-State line at the bottom of each Packet Forwarding Engines scope.
To verify per-FPC and per-PFE utilization of the three key data-plane ASIC memory pools—filter counter memory, IFL counter memory, and expansion memory (used for forwarding table entries and next-hop chains)—run the show system resource-monitor summary command. This command also reports heap memory consumption and CoS queue block utilization:
regress@rct3-mx10004-a> show system resource-monitor summary
Resource Usage Summary
Throttle : Enabled
Heap Mem Threshold : 70 %
IFL Counter Threshold : 95 %
Filter Counter Threshold : 100%
Expansion Threshold : 95 %
CoS Queue Threshold : 100%
Slot # 0
Heap memory used : 10604687360 In % : 30
Client denied : 0
Service Denied : 0
IFL Denied : 0
Filter counter memory IFL counter memory Expansion memory
PFE # used | % used | % used | %
0 5453136 2 1574432 4 27660288 13
...
5 5453136 2 1574048 4 27659824 13
CoS Queue Utilization
PFE # Scheduler Block # Used %
0 0 48 0
Packet Forwarding Engine memory pool descriptions:
|
Memory Pool |
Description |
Configured Threshold |
|---|---|---|
|
Heap (ukern) |
General FPC microkernel memory—used by daemons and local processes |
70% |
|
Filter counter memory |
ASIC memory for firewall filter byte/packet counters |
100% |
|
IFL counter memory |
ASIC memory for logical interface (IFL) statistics counters |
95% |
|
Expansion memory |
ASIC memory for forwarding table entries: routes, next-hops, MPLS labels |
95% |
|
CoS queue blocks |
Scheduler memory blocks allocated per output queue |
100% |
Resource denial counters:
|
Counter |
Meaning |
|---|---|
|
Client denied |
FPC rejected a resource allocation request from a client process |
|
Service Denied |
Service-level resource request denied |
|
IFL Denied |
New logical interface creation denied due to counter memory exhaustion |
When Expansion memory % approaches the configured threshold (95%),
the FPC will start throttling new forwarding entries—this can manifest as route
installation failures or next-hop programming errors. Similarly, IFL Denied
> 0 means logical interfaces could not be created, which would impact
subscriber or tunnel scaling.
In this output, all three FPCs show healthy utilization: heap at 23–30%, filter counters at 2%, IFL counters at 4%, and expansion memory at 13% — providing significant headroom.
To view free memory watermarks for heap, next-hop, and firewall memory pools for a specific FPC, run the show system resource-monitor fpc slot <n> command. This command provides a per-FPC view and breaks down free ENCAP, next-hop, and firewall memory per Packet Forwarding Engine:
Watermark thresholds can be tunned in the configuration.
regress@rct3-mx10004-a> show system resource-monitor fpc slot 0
FPC Resource Usage Summary
Free Heap Mem Watermark : 20 %
Free NH Mem Watermark : 20 %
Free Filter Mem Watermark : 20 %
* - Watermark reached
Slot # % Heap Free RTT Average RTT
0 69
PFE # % ENCAP mem Free % NH mem Free % FW mem Free
0 80 99
...
5 80 99
Key fields:
|
Field |
Description |
Alert Trigger |
|---|---|---|
|
% Heap Free |
Percentage of FPC heap memory remaining |
Below 20% watermark (marked with |
|
% NH mem Free |
Free next-hop ASIC memory per PFE — used for forwarding adjacencies |
Below 20% watermark |
|
% FW mem Free |
Free firewall/filter ASIC memory per PFE |
Below 20% watermark |