Project

General

Profile

Actions

Bug #14891

open

High CPU usage when interface get down and up due to proces check_reload_status

Added by Thijs K about 1 year ago. Updated 25 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Interfaces
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Default
Affected Version:
2.7.0
Affected Architecture:
amd64

Description

Today I noticed that the cpu usage was high on my pfSense appliance (N5105, I226).
After looking in top I see that check_reload_status is fully taxing one core.
This process seems to be triggered when the wan interface comes down and up.
The process keeps running and taxing the CPU until it is manually stopped.


Files

Top check_reload_status.png (8.37 KB) Top check_reload_status.png Thijs K, 10/18/2023 10:36 AM
Cpu usage.png (30 KB) Cpu usage.png Thijs K, 10/18/2023 10:39 AM
Actions #1

Updated by Andrew Almond about 1 year ago

I've seen this issue on two different 4100 units in the past 2 days (Nov 21 and 22).
It seems to prevent the WAN connections / routing from updating properly which causes the affected WAN gateway to remain offline even though pfSense can ping the gateway, and I can remotely login to the firewall using interface with the "offline" gateway. This also prevents the DNS resolver (unbound) from sending any DNS lookups (as confirmed via packet capture).

Disabling and re-enabling the affected interface seems to clear the issue, as does killing the check_reload_status process using command line "kill -s KILL <pid>".

This may be a recurring issue on one firewall that I didn't know what to look for until now.
It seems to occur when a WAN connection goes up and down several times in a short time period.

Both units are running 23.05.1

Actions #2

Updated by Marcos M 25 days ago

  • Priority changed from High to Normal

If this can be reproduced on 24.11, do the following to get more info:

  1. SSH into the device
  2. Get the process ID, e.g. with pgrep check_reload_staus or top
  3. Run procstat -[f|t|kk] <process ID> > <output file path>, e.g. procstat -f 674 > /tmp/output_ps1.txt, procstat -t 674 > /tmp/output_ps2.txt, and procstat -kk 674 > /tmp/output_ps3.txt
  4. Run truss -o <output file path> -fDp <process ID>, e.g. truss -o /tmp/output_truss.txt -fDp 674
  5. Wait a moment; if it's still going, quit with Ctrl+C

Upload the output files here for review.

Actions

Also available in: Atom PDF