GreenArrow Email Software Documentation

Memory Utilization

This document contains an estimate of memory utilization by several components of GreenArrow. This is not a complete list of those components and does not represent all memory used by GreenArrow. We will expand this page in the future to cover other parts of the application.

The estimates found below are bare minimums and may increase as the software grows or changes. We strongly recommend that you have a healthy margin of available resources for this growth.

This document should be used as a guide to calculate additional memory requirements needed when changing a component’s relevant configuration directives.

Passenger Web Processes

GreenArrow’s web process memory utilization is mostly determined by the following configuration directives:

These processes should use less than 200MB each when reviewed in passenger-memory-stats.

Thus, estimated memory utilization of the web processes is:

200MB * passenger_max_application_instances

Studio Worker Processes

GreenArrow’s worker process memory utilization is determined by the following configuration directives:

Each worker process can use 100MB of memory, plus an additional 100MB per concurrently running campaign.

This yields an estimated memory utilization of the worker processes of:

200MB * ( studio_workers_shared + studio_workers_campaigns ) +
( 50MB + ( 25MB * studio_message_generation_processes_per_campaign ) ) * ( studio_workers_general + studio_workers_imports + studio_workers_transactional )

GreenArrow will run the above calculation for you if you run the greenarrow_config show_dynamic_defaults command and review the “Studio worker processes” line’s “As Configured” value:

Estimated memory requirements                                           Default      As Configured
Passenger web processes                                                  800 MB             600 MB
Studio worker processes (/service/hvmail-studio-worker)                 1300 MB            2500 MB


This estimate for Studio worker process memory does not apply to Engine-only configurations, as these workers do not run on those installations. If you’re running an Engine-only install, you can verify that the Studio worker processes are down by running:

hvmail_init status | grep hvmail-studio-worker

If the service is running when it should not, see the installation guide for information on shutting it off.

Copyright © 2012–2024 GreenArrow Email