Pfsense spikes at 100% CPU usage, causing network slowdown



  • Recently (last few months or so) pfsense CPU usage seems to have random spikes. I see in the main pfsense page that sometimes the CPU is at a solid 100%. I don't run any additional packages. Large downloads seem to exasperate the issue, but it can happen at any time, with noticeable packet loss in certain programs like Teamspeak.

    Here is my current system activity after a constant 250megabit/s download for the last 15 minutes.

    last pid: 29969;  load averages:  1.56,  1.34,  0.70  up 9+08:56:18    00:14:41
    149 processes: 4 running, 129 sleeping, 16 waiting
    
    Mem: 21M Active, 90M Inact, 109M Wired, 74M Buf, 879M Free
    Swap: 4096M Total, 4096M Free
    
      PID USERNAME PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
       12 root     -72    -     0K   128K WAIT    63:19  33.06% [intr{swi1: netisr 0}]
       11 root     155 ki31     0K     8K RUN    217.5H  24.66% [idle]
        0 root     -92    -     0K   104K -       12:06   8.25% [kernel{em0 taskq}]
        0 root     -92    -     0K   104K -       11:07   6.59% [kernel{em1 taskq}]
    25323 root      43    0 85560K 26420K piperd   0:00   3.37% php-fpm: pool nginx (php-fpm)
    28352 root      72    0 81368K 23184K RUN      0:00   3.17% [php-cgi]
       12 root     -92    -     0K   128K WAIT     5:24   1.86% [intr{irq16: em0 uhci0}]
       12 root     -92    -     0K   128K WAIT     5:10   1.86% [intr{irq18: em1 uhci2}]
    28827 root      52    0 85560K 27752K piperd   0:00   1.46% php-fpm: pool nginx (php-fpm)
    91568 root      21    0 89656K 28228K nanslp   0:01   1.37% php-fpm: pool nginx (php-fpm)
       15 root     -16    -     0K     8K -        5:37   0.88% [rand_harvestq]
    28116 root      31    0 85560K 27080K nanslp   0:00   0.68% php-fpm: pool nginx (php-fpm)
        6 root     -16    -     0K     8K pftm     7:17   0.00% [pf purge]
     4734 root      20    0 10148K  1900K select   5:04   0.00% /usr/sbin/syslogd -s -c -c -l /var/dhcpd/var/
       12 root     -60    -     0K   128K WAIT     5:02   0.00% [intr{swi4: clock}]
    52096 root      52   20 10460K  1988K wait     3:44   0.00% /bin/sh /var/db/rrd/updaterrd.sh
    55688 root      20    0 12104K  4224K select   2:14   0.00% /usr/local/sbin/miniupnpd -f /var/etc/miniupn
    83162 unbound   20    0 25472K 19960K kqread   2:10   0.00% /usr/local/sbin/unbound -c /var/unbound/unbou
    

    This is the traffic graph over that same period.

    Current Base System 2.3.2_1

    This didn't start happening until a few months ago. I also notice that when I turn on/off my modem, or tell pfsense to release/renew it's WAN IP, the router setup website will stop responding for a minute or two.