Primeiro, o limite de memória só se aplica ao GNU / Linux, não, e. Windows.
Resposta curta: É um limite por processo para o script bash, que provavelmente (isso é verdadeiro nos sistemas "seus filhos" e o limite não é muito usado) também se aplica a processos filhos. Assim, cada chamada do ImageMagick tem seu próprio limite separado.
A geração de miniaturas de imagens não faz parte da fila de tarefas (vídeos de multimídia são um assunto diferente).
Detalhes:
Por padrão, funciona assim:
- Quando wfShellExec é chamado, ele cria um novo processo bash com proc_open.
- Isso executa um script bash chamado limit.sh .
- Esse novo processo bash define o limite de memória (wgMaxShellMemory) usando
ulimit -v
. - O processo bash executa o comando desejado com / usr / bin / timeout (se também houver um limite de relógio de parede) ou eval .
A página man do ulimit do bash diz que '-v' é, "A quantidade máxima de memória virtual disponível para o shell e, em alguns sistemas, para seus filhos."
NOTA: Existe uma opção para usar cgroups , mas está desativado por padrão.