Feature #13575

AtoM worker memory usage

Added by Steve Breker about 1 month ago. Updated about 1 month ago.

Status:In progressStart date:10/12/2021
Priority:MediumDue date:
Assignee:Steve Breker% Done:


Category:Job scheduling
Target version:Release 2.7.0
Google Code Legacy ID: Tested version:
Sponsored:No Requires documentation:


The atom-worker process' resident memory will increase over time as jobs are run. This memory is never released by the worker process.

Add code to the atom-worker to generate memory profiler 'grind' files which can be used to gain insight into where the process' memory is leaking from.

Related issues

Related to Access to Memory (AtoM) - Feature #13573: Atom worker service - add 'max-job-count' and 'max-mem-li... QA/Review 10/05/2021


#1 Updated by Steve Breker about 1 month ago

  • Related to Feature #13573: Atom worker service - add 'max-job-count' and 'max-mem-limit' options added

#3 Updated by Steve Breker about 1 month ago

Add class for interacting with arnaud-lb/php-memory-profiler. Set up for
use in the atom-worker.


  1. install arnaud-lb/php-memory-profiler
  2. configure atom-worker.service to include "Environment=MEMPROF_PROFILE=native"
  3. OPTIONAL: set the basepath and name using env var: "Environment=MEMPROF_OUTPUT_BASENAME=/vagrant/atom_memprof_file.grind"
  4. run: sudo systemctl daemon-reload
  5. restart the atom-worker

If MEMPROF_OUTPUT_BASENAME is not set, the grind files will be output to the AtoM folder (atom_memprof_file.grind.).

Also available in: Atom PDF