High CPU usage after installing new DSL modem



  • I'm on AT&T U-verse DSL. I previously had a 2210-02-1ATT Motorola modem.  According to AT&T, it was dying, so they sent me a new modem…but instead of a plain modem, they sent me an Arris NVG510 "modem/router/firewall" that apparently has issues with passthrough mode.  I finally managed to get that working by manually configuring the pfSense WAN port's IP and netmask, but as soon as pfSense gets the public IP, the CPU redlines.  I thought I had it mostly working finally last night, but this morning now the 256MB memory is 88% full, the CPU is pegged again, and I can barely get to the web interface to do anything.  I did manage to update it to 2.1.4, but that hasn't helped any.  Remotely, the web interface is basically useless, and I can't even connect via SSH.  The last time I was able to pull up the system activity diagnostics page, php was the process pegging the CPU, but I can't get to a console or web page to kill it.  If I take the modem out of passthrough mode, the router settles down, but then of course I can't do anything outside of browse the web since i'm double-NATed.

    So...any ideas?  As I'm writing this, I did finally manage to SSH to the pfSense box, dropped to a shell, and killall-ed php.  That temporarily cleaned things up somewhat, but it's already back to 100% CPU and 100MB memory usage since all that did was clear the existing processes just to spawn new ones.  My wife is now firmware-resetting the modem/router/firewall so that she can have functional internet today, so I'll have to wait until tonight to test.



  • Could you post your "System Activity" from under "Diagnostics"?



  • This is now, with it leasing a private IP from the modem:

    last pid: 45252;  load averages:  0.35,  0.34,  0.22  up 0+12:19:06    21:17:30
    93 processes:  2 running, 78 sleeping, 13 waiting
    
    Mem: 28M Active, 9588K Inact, 53M Wired, 304K Cache, 26M Buf, 171M Free
    Swap: 1024M Total, 20M Used, 1004M Free, 1% Inuse
    
      PID USERNAME PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
       11 root     171 ki31     0K     8K RUN    641:49 63.09% [idle]
    17517 root      76    0 33236K 13056K piperd   1:28 26.86% /usr/local/bin/php{php}
       12 root     -68    -     0K   104K WAIT    30:18  6.69% [intr{irq11: xl0 xl1 x}]
       12 root     -24    -     0K   104K WAIT     1:56  0.20% [intr{swi6: task queue}]
        0 root     -16    0     0K    64K sched  104:25  0.00% [kernel{swapper}]
       12 root     -32    -     0K   104K WAIT     7:17  0.00% [intr{swi4: clock}]
      257 root      76   20  3352K   756K kqread   5:46  0.00% /usr/local/sbin/check_reload_status
    46216 root      44    0  3300K  1284K select   3:40  0.00% /usr/local/sbin/miniupnpd -f /var/etc/miniupnp
       14 root     -16    -     0K     8K -        1:21  0.00% [yarrow]
       17 root     -16    -     0K     8K psleep   1:04  0.00% [pagedaemon]
    48807 root      44    0  3412K  1008K select   0:52  0.00% /usr/sbin/syslogd -s -c -c -l /var/dhcpd/var/r
    17238 root      76    0 27860K  8356K accept   0:31  0.00% /usr/local/bin/php
    16824 root      44    0  3264K  1016K select   0:30  0.00% /usr/local/sbin/apinger -c /var/etc/apinger.co
    63687 root      76   20  3644K  1488K wait     0:29  0.00% /bin/sh /var/db/rrd/updaterrd.sh
        3 root      -8    -     0K     8K -        0:26  0.00% [g_up]
       18 root     -16    -     0K     8K psleep   0:14  0.00% [vmdaemon]
        4 root      -8    -     0K     8K -        0:14  0.00% [g_down]
    53084 nobody    64   20  5512K  2800K select   0:12  0.00% /usr/local/sbin/dnsmasq --all-servers --rebind
    

    I'll post under load when it's pulling the public IP from the modem later tonight after my wife goes to bed.  Pretty sure I'll be shot if I leave it like that while she's trying to do anything.



  • Well, I just flipped it back to having pfSense hold the public IP, and so far so good.  The issue last time, though, was after a night of holding it.  I'll keep an eye on it throughout the day today.  Maybe it was just a fluke.



  • I just wanted to point out that "[kernel{swapper}]" has a HUGE amount of total CPU time consumed. Your interrupt usage is a bit high also, but I assume that swapper has something to do with the page file. I could be wrong.

    If this is the case, then you may have ran out of physical memory for a bit, causing your system to start paging to your storage device.


  • Netgate Administrator

    Yep, you shouldn't be swapping, ever. Not if you want any sort of decent performance anyway.  ;) Quite why running a public IP would require more memory though is odd if that is the issue.
    What hardware are you running? I see you have 256MB RAM, are you running any packages?

    Steve