Skip to content

CLI process uses up all available machine memory #19020

Open
@jbaron-gingco

Description

@jbaron-gingco

Description

Our application runs a long running CLI process. This process runs up to 24 hours, then dies and is restarted by a scheduler.

Recently this process started to consume massive amounts of memory - we noticed a usage of up to about 21GB (the machine has 24 GB RAM, and all other processes consume about 3GB). After starting the process, it first consumes a normal amount of memory (about 52MB) for some time. After some time it starts to rapidly increase its usage, until the system OOM-killer shuts it down. The time until this behaviour starts seems to depend on user activity (the process handles part of it), the time until the process is killed after the runaway memory usage starts is a few minutes.

Until the memory usage increases, the process seems to function as intended.

The PHP process runs in a docker container derived from "php:8.4-apache-bookworm" running PHP 8.4.8, but we have also reproduced it with PHP 8.4.7.

This behaviour started out of the blue, about one and a half week after the last update.

What we have done so far:

  • Analysed the processes memory usage using valgrind to find out whether this memory usage comes from some library or PHP itself. It looks like it is PHP itself, in the VM stack. I'll add the massif output file, it was obtained by running ZEND_DONT_UNLOAD_MODULES=1 USE_ZEND_ALLOC=0 valgrind --tool=massif --massif-out-file=./massif-malloc3.out <command> in a container with a PHP debug build (configure --enable-debug).
  • Analysed on the application side what might trigger this.

Added files:

  • massif output
  • censored output of php -i (credentials censored, some application environment variables removed)

php.censored.ini.txt
massif-malloc3.out.txt

PHP Version

PHP 8.4.8 (cli) (built: Jul  1 2025 02:17:01) (NTS)
Copyright (c) The PHP Group
Built by https://github.com/docker-library/php
Zend Engine v4.4.8, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.8, Copyright (c), by Zend Technologies

Operating System

Linux 6056e9447d40 5.10.0-35-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions