O que o $ wgMaxShellMemory do MediaWiki realmente controla?

1

Minha principal questão é: o wgMaxShellMemory limita a memória total usada por todos os processos para tarefas de shell, como a criação de miniaturas do ImageMagick? Ou é um limite por processo? A documentação para essa configuração parece vaga.

Eu tenho um wiki que está usando muita memória em um host compartilhado. Eu reduzi o culpado ao ImageMagick usando muita memória ao converter imagens enviadas. Reduzi o tamanho máximo do upload em php.ini, o que ajudará, mas eu esperava que o wgMaxShellMemory servisse como um limite rígido para o uso total de memória pelo ImageMagick e outros processos em segundo plano do MediaWiki.

Como participante, também não consegui descobrir na documentação se a conversão de imagens faz parte da fila de tarefas, permitindo que o wgJobRunRate reduza a velocidade de criação de miniaturas.

    
por gilrain 25.07.2013 / 16:39

1 resposta

0

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:

  1. Quando wfShellExec é chamado, ele cria um novo processo bash com proc_open.
  2. Isso executa um script bash chamado limit.sh .
  3. Esse novo processo bash define o limite de memória (wgMaxShellMemory) usando ulimit -v .
  4. 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.

    
por 18.05.2014 / 04:27