What do the different memory limit arguments mean ? [Horizon] #44579
Replies: 1 comment 1 reply
-
I hope I got it all right. Let me know otherwise, and I'll correct it. In order to understand the difference and make sense of it all, we need to understand how processes are 'linked together', and the meaning of soft- vs hard limits, and where they are used. Soft limit means that the process won't be abruptly killed, and is allowed to go above that limit. I believe the Horizon 'master' supervisor (1st screenshot) is the Each supervisor appears to be a fork of the master process spawning it (a child process). This forms a process tree along the lines of
The 'master' process has a soft limit of The master process doesn't do much work other than managing the supervisors, AFAIK, and therefore doesn't need much RAM. If Horizon notice that the process is above the soft limit, when it does the check(s), it'll send a termination command for that process to terminate it 'gracefully'. To see how it monitors the 'master' process, you can have a look at this event listener. The memory limit for an actual job is the hard limit, managed by PHP. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Currently, in the horizon config, there is a memory limit in the root of the config and a memory limit for each supervisor instance. and I'm not quite sure what the differences are
And then there is the following in the supervisor config
Does this mean that each job has a max allowed memory of 128 MB if yes what is the memory limit for the 64MB do?
Thanks !
Beta Was this translation helpful? Give feedback.
All reactions