Netgate Store

Author Topic: Squid possible memory leak  (Read 373 times)

0 Members and 1 Guest are viewing this topic.

Offline beauw

  • Newbie
  • *
  • Posts: 9
  • Karma: +1/-0
    • View Profile
Squid possible memory leak
« on: January 12, 2018, 01:21:38 pm »
All,

Running an XG-1450 (and a backup) with CARP failover in a school environment now for 9 months with minimal issues and fantastic performance.

800+ clients, HTTPS transparent filtering (MITM) using squidguard, suricata in-line, 10 interfaces.

I've scoured message boards to learn about the underlying concepts of Squid to make sure I understand how memory is allocated (and possibly released) but I'm still running into memory consumption on a massive scale that isn't being released back to the available pool.

Essentially memory creeps up throughout the entire day until both the memory (32 GB) and swap memory (4GB) is completely consumed.
Memory and SWAP run at 99%.  This causes chaos until reset.

I've changed between no cache, large cache, log rotations, etc etc.  Can't seem to find the issue.

The only remediation is rebooting the Squid service (not squidguard but squid).  Results in a network halt for about 10-20 seconds.  Would prefer to avoid.

I tried a CRON job also to restart squid, but it seems to have no effect.
* 0,6,12,18  * * * root   /usr/local/etc/rc.d/squid restart

Version 2.4.2
Firewall optimization is normal
Power saving mode is Maximum (meaning highest performance)

Details.....

20GB cache (aufs)
Mostly standard options in the cache settings.

Integrations on squid:
http_port 10.10.10.1:3128;;url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf;url_rewrite_bypass off;url_rewrite_children 16 startup=8 idle=4 concurrency=0

Below is a normal (ps uxawwd).

USER     PID   %CPU %MEM     VSZ     RSS TT  STAT STARTED         TIME COMMAND
root       0    0.0  0.0       0     976  -  DLs   1Jan18      0:07.38 [kernel]
root      11 1547.8  0.0       0     256  -  RL    1Jan18 248857:52.83 - [idle]
root      12    0.7  0.0       0    1248  -  WL    1Jan18    706:23.65 - [intr]
root       1    0.0  0.0    5024     132  -  ILs   1Jan18      0:00.05 - /sbin/init --
nobody 83610    0.9  0.0   31868    4508  -  S    Thu08       13:41.87 |-- /usr/local/sbin/dnsmasq --all-servers -C /dev/null --dns-forward-max=5000 --cache-size=10000 --local-ttl=1
root   96600    0.8  2.2 1266252  723272  -  Ss    4Jan18    558:32.04 |-- /usr/local/bin/suricata -i igb0 -D -c /usr/local/etc/suricata/suricata_61396_igb0/suricata.yaml --pidfile /var/run/suricata_igb061396.pid
root   93337    0.1  1.6 1020492  526956  -  Ss    4Jan18    286:47.81 |-- /usr/local/bin/suricata -i igb1 -D -c /usr/local/etc/suricata/suricata_19793_igb1/suricata.yaml --pidfile /var/run/suricata_igb119793.pid
root     628    0.0  0.0  280396    5828  -  Ss    1Jan18      0:26.38 |-- php-fpm: master process (/usr/local/lib/php-fpm.conf) (php-fpm)
root   37781    1.9  0.1  290640   27940  -  S    12:10        0:00.42 | |-- php-fpm: pool nginx (php-fpm)
root   26368    0.0  0.1  286544   23324  -  S    12:10        0:00.03 | `-- php-fpm: pool nginx (php-fpm)
root   27417    0.0  0.0   21104    2644  -  R    12:10        0:00.00 |   `-- ps uxawwd
root     642    0.0  0.0   19440    1112  -  INs   1Jan18      0:00.20 |-- /usr/local/sbin/check_reload_status
root     644    0.0  0.0   19440       0  -  IWN  -            0:00.00 | `-- check_reload_status: Monitoring daemon of check_reload_status
root     658    0.0  0.0    9556      80  -  Is    1Jan18      0:00.57 |-- /sbin/devd -q -f /etc/pfSense-devd.conf
root   14390    0.0  0.0   10472    2000  -  Ss    1Jan18     29:30.47 |-- /usr/sbin/syslogd -s -c -c -l /var/dhcpd/var/run/log -P /var/run/syslog.pid -f /etc/syslog.conf
root   56843    0.0  0.0   10580    1940  -  Is    1Jan18      0:00.02 | `-- /usr/local/sbin/sshlockout_pf 15
root   22436    0.0  0.0   53492    4128  -  Is    1Jan18      0:00.00 |-- /usr/sbin/sshd
root   26295    0.0  0.0   13084     844  -  S    Mon12        0:03.24 |-- /bin/sh /usr/local/pkg/sqpmon.sh
root   28561    0.0  0.0    6172    1928  -  S    12:10        0:00.00 | `-- sleep 55
root   27333    0.0  0.0   24448    4516  -  Ss    1Jan18      0:39.85 |-- /usr/local/sbin/openvpn --config /var/etc/openvpn/server1.conf
root   28035    0.0  0.0   12696    2448  -  Ss    1Jan18     20:13.91 |-- /usr/local/sbin/filterlog -i pflog0 -p /var/run/filterlog.pid
root   38272    0.0  0.0  154244    3172  -  Is    1Jan18      0:07.25 |-- /usr/local/sbin/filterdns -p /var/run/filterdns.pid -i 300 -c /var/etc/filterdns.conf -d 1
root   43348    0.0  0.0    8224       0  -  IWs  -            0:00.00 |-- /usr/local/bin/minicron 240 /var/run/ping_hosts.pid /usr/local/bin/ping_hosts.sh
root   43813    0.0  0.0    8224     336  -  I     1Jan18      0:00.36 | `-- minicron: helper /usr/local/bin/ping_hosts.sh  (minicron)
root   43969    0.0  0.0    8224       0  -  IWs  -            0:00.00 |-- /usr/local/bin/minicron 3600 /var/run/expire_accounts.pid /usr/local/sbin/fcgicli -f /etc/rc.expireaccounts
root   44272    0.0  0.0    8224     336  -  I     1Jan18      0:00.03 | `-- minicron: helper /usr/local/sbin/fcgicli -f /etc/rc.expireaccounts  (minicron)
root   44581    0.0  0.0    8224       0  -  IWs  -            0:00.00 |-- /usr/local/bin/minicron 86400 /var/run/update_alias_url_data.pid /usr/local/sbin/fcgicli -f /etc/rc.update_alias_url_data
root   45019    0.0  0.0    8224     336  -  I     1Jan18      0:00.00 | `-- minicron: helper /usr/local/sbin/fcgicli -f /etc/rc.update_alias_url_data  (minicron)
root   48250    0.0  0.0   63052    6400  -  Ss    2Jan18      7:13.61 |-- /usr/sbin/bsnmpd -c /var/etc/snmpd.conf -p /var/run/snmpd.pid
root   55874    0.0  0.1   66472   25592  -  Is   11:46        0:00.00 |-- /usr/local/sbin/squid -f /usr/local/etc/squid/squid.conf
squid  56059   75.9 16.2 5972892 5420300  -  S    11:46       11:38.00 | `-- (squid-1) -f /usr/local/etc/squid/squid.conf (squid)
squid  56310    1.5  0.1   38216   17688  -  S    11:46        0:20.96 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  56063    0.0  0.0   26984    6192  -  I    11:46        0:00.01 |   |-- (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
squid  56116    0.0  0.0   26984    6192  -  I    11:46        0:00.02 |   |-- (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
squid  56123    0.0  0.0   26984    6192  -  I    11:46        0:00.01 |   |-- (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
squid  56216    0.0  0.0   26984    6192  -  I    11:46        0:00.02 |   |-- (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
squid  56237    0.0  0.0   26984    6192  -  I    11:46        0:00.01 |   |-- (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
squid  56460    0.0  0.1   38216   17692  -  S    11:46        0:05.80 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  56648    0.0  0.1   38216   17688  -  S    11:46        0:02.33 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  56777    0.0  0.1   38216   17688  -  S    11:46        0:01.14 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  57101    0.0  0.1   38216   17684  -  S    11:46        0:00.64 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  57142    0.0  0.1   38216   17676  -  S    11:46        0:00.37 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  57371    0.0  0.1   38216   17684  -  S    11:46        0:00.24 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  57589    0.0  0.1   38216   17672  -  I    11:46        0:00.17 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  57696    0.0  0.1   38216   17628  -  I    11:46        0:00.09 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  58042    0.0  0.1   38216   17524  -  I    11:46        0:00.07 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  58120    0.0  0.0   38216   16632  -  I    11:46        0:00.05 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  58131    0.0  0.0   38216   16544  -  I    11:46        0:00.04 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  58390    0.0  0.0   36168   16104  -  I    11:46        0:00.03 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  58446    0.0  0.0   36168   15616  -  I    11:46        0:00.03 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  58569    0.0  0.0   34120   14608  -  I    11:46        0:00.03 |   |-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
squid  58759    0.0  0.0   34120   14608  -  I    11:46        0:00.03 |   `-- (squidGuard) -c /usr/local/etc/squidGuard/squidGuard.conf (squidGuard)
root   56152    0.0  0.0   12496     676  -  Is    1Jan18      0:06.36 |-- /usr/sbin/cron -s
root   57331    0.0  0.0   10288       0  -  IWs  -            0:00.00 |-- /usr/local/sbin/qstats -p /var/run/qstats.pid
root   68631    0.0  0.0   35660       0  -  IWs  -            0:00.00 |-- nginx: master process /usr/local/sbin/nginx -c /var/etc/nginx-webConfigurator.conf (nginx)
root   68677    0.0  0.0   37708    4784  -  S     4Jan18      0:28.51 | |-- nginx: worker process (nginx)
root   68753    0.0  0.0   37708    4720  -  S     4Jan18      0:35.38 | |-- nginx: worker process (nginx)
root   68852    0.0  0.0   37708    5116  -  S     4Jan18      0:46.82 | |-- nginx: worker process (nginx)
root   69079    0.0  0.0   37708    5156  -  S     4Jan18      0:58.66 | `-- nginx: worker process (nginx)
root   78850    0.0  0.0   10368    1752  -  Ss    1Jan18      6:20.01 |-- /usr/sbin/powerd -b hadp -a max -n hadp
dhcpd  87140    0.0  0.2  108808   82324  -  Ss   Thu08        0:30.95 |-- /usr/local/sbin/dhcpd -user dhcpd -group _dhcp -chroot /var/dhcpd -cf /etc/dhcpd.conf -pf /var/run/dhcpd.pid igb0 igb0.7 igb0.104 igb0.2 igb0.3 igb0.101 igb0.80 igb0.109 igb0.4 igb0.81 igb0.6
root   88675    0.0  0.0   24608   12428  -  Ss   Thu08        0:08.02 |-- /usr/local/sbin/ntpd -g -c /var/etc/ntpd.conf -p /var/run/ntpd.pid
root   93181    0.0  0.0   39432       0 u0  IWs  -            0:00.00 |-- login [pam] (login)
root   93712    0.0  0.0   13084       0 u0  IW   -            0:00.00 | `-- -sh (sh)
root   93957    0.0  0.0   13084    1684 u0  I+    1Jan18      0:00.00 |   `-- /bin/sh /etc/rc.initial
root   91355    0.0  0.0   39432       0 v0  IWs  -            0:00.00 |-- login [pam] (login)
root   93470    0.0  0.0   13084       0 v0  IW   -            0:00.00 | `-- -sh (sh)
root   93851    0.0  0.0   13084    1684 v0  I+    1Jan18      0:00.00 |   `-- /bin/sh /etc/rc.initial
root   91523    0.0  0.0   10388    1684 v1  Is+   1Jan18      0:00.00 |-- /usr/libexec/getty Pc ttyv1
root   91821    0.0  0.0   10388    1684 v2  Is+   1Jan18      0:00.00 |-- /usr/libexec/getty Pc ttyv2
root   92148    0.0  0.0   10388    1684 v3  Is+   1Jan18      0:00.00 |-- /usr/libexec/getty Pc ttyv3
root   92425    0.0  0.0   10388    1684 v4  Is+   1Jan18      0:00.00 |-- /usr/libexec/getty Pc ttyv4
root   92536    0.0  0.0   10388    1684 v5  Is+   1Jan18      0:00.00 |-- /usr/libexec/getty Pc ttyv5
root   92606    0.0  0.0   10388    1684 v6  Is+   1Jan18      0:00.00 |-- /usr/libexec/getty Pc ttyv6
root   92866    0.0  0.0   10388    1684 v7  Is+   1Jan18      0:00.00 |-- /usr/libexec/getty Pc ttyv7
root   69676    0.0  0.0   13084     964  0- SN    4Jan18      1:47.89 `-- /bin/sh /var/db/rrd/updaterrd.sh
root   10704    0.0  0.0    6172    1928  -  SN   12:10        0:00.00   `-- sleep 60
root       2    0.0  0.0       0      16  -  DL    1Jan18      0:00.00 - [crypto]
root       3    0.0  0.0       0      16  -  DL    1Jan18      0:00.00 - [crypto returns]
root       4    0.0  0.0       0      64  -  DL    1Jan18     12:01.41 - [cam]
root       5    0.0  0.0       0      16  -  DL    1Jan18      0:00.16 - [soaiod1]
root       6    0.0  0.0       0      16  -  DL    1Jan18      0:00.16 - [soaiod2]
root       7    0.0  0.0       0      16  -  DL    1Jan18      0:00.16 - [soaiod3]
root       8    0.0  0.0       0      16  -  DL    1Jan18      0:00.16 - [soaiod4]
root       9    0.0  0.0       0      16  -  DL    1Jan18      0:00.00 - [sctp_iterator]
root      10    0.0  0.0       0      16  -  DL    1Jan18      0:00.00 - [audit]
root      13    0.0  0.0       0     256  -  DL    1Jan18      0:00.00 - [ng_queue]
root      14    0.0  0.0       0      48  -  DL    1Jan18      0:00.01 - [geom]
root      15    0.0  0.0       0     240  -  DL    1Jan18      1:40.68 - [usb]
root      16    0.0  0.0       0      16  -  DL    1Jan18      5:35.42 - [pf purge]
root      17    0.0  0.0       0      16  -  DL    1Jan18      2:37.99 - [rand_harvestq]
root      18    0.0  0.0       0      16  -  DL    1Jan18      0:00.72 - [enc_daemon0]
root      19    0.0  0.0       0      48  -  DL    1Jan18    308:15.42 - [pagedaemon]
root      20    0.0  0.0       0      16  -  DL    1Jan18      1:41.45 - [vmdaemon]
root      21    0.0  0.0       0      16  -  DL    1Jan18      0:00.01 - [pagezero]
root      22    0.0  0.0       0      16  -  DL    1Jan18      0:07.25 - [bufspacedaemon]
root      23    0.0  0.0       0      32  -  DL    1Jan18      0:28.88 - [bufdaemon]
root      24    0.0  0.0       0      16  -  DL    1Jan18      0:06.23 - [vnlru]
root      25    0.0  0.0       0      16  -  DL    1Jan18      8:06.42 - [syncer]
root      58    0.0  0.0       0      16  -  DL    1Jan18      0:00.73 - [md0]

« Last Edit: January 13, 2018, 01:40:39 pm by beauw »

Offline beauw

  • Newbie
  • *
  • Posts: 9
  • Karma: +1/-0
    • View Profile
Re: Squid possible memory leak
« Reply #1 on: January 26, 2018, 02:17:17 pm »
Switched cache to diskd and disabled remote certificate checks.

All stabilized now at 40% memory on a 60GB cache.

Still don't think the dashboard is an accurate representation of memory as it includes laundry in the active memory....addressed in separate thread.

Offline beauw

  • Newbie
  • *
  • Posts: 9
  • Karma: +1/-0
    • View Profile
Re: Squid possible memory leak
« Reply #2 on: February 10, 2018, 11:25:12 am »
Nope.  Didn't work.

Still extremely unstable.  Sigh.....

Looking into memory pools now and certificate memory issues.  Any ideas welcome still....