It’s worth to take a read to the official documentation about resource requirements. It won’t cover all the cases but it gives you an idea.
Basically there are two types of memory usage you should take into account: Shared Memory and Process Memory.
To give a rough idea they suggest to calculate the shared usage memory with:
Shared memory requirement (in bytes) = num_init_children * max_pool * 17408
For the process memory use this formula:
Process memory requirement in total (in mega bytes) = num_init_children * 5
Example for shared memory with default values (num_init_children = 32 and max_pool = 4)
- Shared Memory: 32 * 4 * 17408 = 2228224 bytes = 2.1 MB.
- Process Memory: 32 * 5 = 160 MB