Skip to content

Increased memory use over time liked to log size growth #1666

@jonwaland

Description

@jonwaland

What installation are you running?

Production (netalertx) 📦

Is there an existing issue for this?

The issue occurs in the following browsers. Select at least 2.

  • Firefox
  • Chrome
  • Edge
  • Safari (unsupported) - PRs welcome
  • N/A - This is an issue with the backend

Current Behavior

docker container memory usage is increasing.

(Built on: 04/05/2026, 15:03:34 | Version: v26.5.4 )

Image

Expected Behavior

no memory increase.

Steps To Reproduce

No response

Relevant app.conf settings

#-----------------AUTOGENERATED FILE-----------------#
#                                                    #
#         Generated:  2026-05-04_18-16-25                 #
#                                                    #
#   Config file for the LAN intruder detection app:  #
#      https://github.com/netalertx/NetAlertX        #
#                                                    #
#-----------------AUTOGENERATED FILE-----------------#


# General
#---------------------------
LOADED_PLUGINS=['ARPSCAN','CSVBCKP','DBCLNP','INTRNT','MAINT','NEWDEV','NSLOOKUP','NTFPRCS','AVAHISCAN','SETPWD','SYNC','VNDRPDT','WORKFLOWS','UI','CUSTPROP','SMTP','ICMP']
LOADED_PLUGINS__metadata="{}"
DEEP_SLEEP=False
DEEP_SLEEP__metadata="{}"
DISCOVER_PLUGINS=True
DISCOVER_PLUGINS__metadata="{}"
SCAN_SUBNETS=['192.168.1.1-192.168.1.254 --interface=eno1']
SCAN_SUBNETS__metadata="{}"
LOG_LEVEL='minimal'
LOG_LEVEL__metadata="{}"
TIMEZONE='Australia/Sydney'
TIMEZONE__metadata="{}"
PLUGINS_KEEP_HIST=250
PLUGINS_KEEP_HIST__metadata="{}"
REPORT_DASHBOARD_URL='http://192.168.1.128:20211'
REPORT_DASHBOARD_URL__metadata="{}"
BACKEND_API_URL=''
BACKEND_API_URL__metadata="{}"
DAYS_TO_KEEP_EVENTS=90
DAYS_TO_KEEP_EVENTS__metadata="{}"
HRS_TO_KEEP_NEWDEV=0
HRS_TO_KEEP_NEWDEV__metadata="{}"
HRS_TO_KEEP_OFFDEV=0
HRS_TO_KEEP_OFFDEV__metadata="{}"
CLEAR_NEW_FLAG=0
CLEAR_NEW_FLAG__metadata="{}"
PRAGMA_JOURNAL_SIZE_LIMIT=50
PRAGMA_JOURNAL_SIZE_LIMIT__metadata="{}"
REFRESH_FQDN=False
REFRESH_FQDN__metadata="{}"
API_CUSTOM_SQL='SELECT * FROM Devices WHERE devPresentLastScan = 0'
API_CUSTOM_SQL__metadata="{}"
VERSION='v26.5.4'
VERSION__metadata="{}"
NETWORK_DEVICE_TYPES=['AP','Gateway','Firewall','Hypervisor','Powerline','Switch','WLAN','PLC','Router','USB LAN Adapter','USB WIFI Adapter','Internet']
NETWORK_DEVICE_TYPES__metadata="{}"
GRAPHQL_PORT=20212
GRAPHQL_PORT__metadata="{}"
API_TOKEN='t_X30IXgMdEDgfvbCDxeDA'
API_TOKEN__metadata="{}"

docker-compose.yml

services:
  netalertx:
    container_name: netalertx
    image: "ghcr.io/jokob-sk/netalertx:latest"     
    network_mode: "host"
    read_only: true
    cap_drop:
      - ALL
    cap_add:
      - NET_RAW
      - NET_ADMIN
      - NET_BIND_SERVICE
      - CHOWN
      - SETUID
      - SETGID
    restart: unless-stopped
    volumes:
      - /home/walaj/docker/netalertx:/data
      - type: bind                           # Bind mount for timezone consistency
        source: /etc/localtime
        target: /etc/localtime
        read_only: true
    environment:
      - PGID=1000
      - PUID=1000    
      - PORT=20211
    tmpfs:
#      - "/tmp:uid=20211,gid=20211,mode=1700,rw,noexec,nosuid,nodev,async,noatime,nodiratime"
      - "/tmp:mode=1700,uid=0,gid=0,rw,noexec,nosuid,nodev,async,noatime,nodiratime"
    dns:
      - 192.168.1.128
    # Resource limits to prevent resource exhaustion
    mem_limit: 2048m            # Maximum memory usage
    mem_reservation: 1024m      # Soft memory limit
    cpu_shares: 512             # Relative CPU weight for CPU contention scenarios
    pids_limit: 512             # Limit the number of processes/threads to prevent fork bombs
    logging:
      options:
        max-size: "10m"         # Rotate log files after they reach 10MB
        max-file: "3"           # Keep a maximum of 3 log files

Debug or Trace enabled

  • I have read and followed the steps in the wiki link above and provided the required debug logs and the log section covers the time when the issue occurs.

Relevant app.log section

let me know if the log is likely to be useful

Docker Logs


 _   _      _    ___  _           _  __   __
| \ | |    | |  / _ \| |         | | \ \ / /
|  \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
| .   |/ _ \ __|  _  | |/ _ \  __| __|/   \
| |\  |  __/ |_| | | | |  __/ |  | |_/ /^\ \
\_| \_/\___|\__\_| |_/_|\___|_|   \__\/   \/
   Network intruder and presence detector.
   https://netalertx.com


Startup pre-checks
--> data migration.sh
--> capabilities audit.sh
--> mounts.py
 Path                     | R | W | Mount | RAMDisk | Performance | DataLoss
--------------------------+---+---+-------+---------+-------------+----------
 /data                    | ✅| ✅|   ✅  |    ➖   |      ➖     |    ✅
 /data/db                 | ✅| ✅|   ✅  |    ➖   |      ➖     |    ✅
 /data/config             | ✅| ✅|   ✅  |    ➖   |      ➖     |    ✅
 /tmp/run/tmp             | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅
 /tmp/api                 | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅
 /tmp/log                 | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅
 /tmp/run                 | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅
 /tmp/nginx/active-config | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅
--> first run config.sh
--> first run db.sh
--> mandatory folders.sh
    * Creating NetAlertX log directory.
    * Creating NetAlertX API cache.
    * Creating System services runtime directory.
    * Creating nginx active configuration directory.
    * Creating Plugins log.
    * Creating System services run log.
    * Creating System services run tmp.
    * Creating DB locked log.
    * Creating Execution queue log.
--> apply conf override.sh
--> override individual settings.sh
--> host optimization.sh
--> writable config.sh
--> nginx config.sh
--> expected user id match.sh
--> host mode network.sh
--> excessive capabilities.sh
--> appliance integrity.sh
--> ports available.sh
Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F (tee stderr to app.php_errors.log)
Starting python3  -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2)
Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log stderr; error_log /tmp/log/nginx-error.log; daemon off;" &
Successfully updated IEEE OUI database (114315 entries)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Setup 📥These are probably setup or user environment related issues.Waiting for reply⏳Waiting for the original poster to respond, or discussion in progress.next release/in dev image 🚀This is coming in the next release or was already released if the issue is Closed.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions