[Kettle] - Ajuste de Memória de Utilização

Quando baixamos o Pentaho Data Integration (Kettle) do site da Comunidade, este vem predefinido com um valor modesto de utilização de memória. Isso ocorre para que seja o mais portável possível em diferentes equipamentos. Mas para que possamos tirar o máximo de proveito do mesmo, podemos customizar o valor de alocação de memória, para melhor se adequar à realidade do nosso projeto.

Para isso basta que ajustemos este valor de memória em 4 arquivos de execução do Pentaho Data Integration:
  • pan.sh (pan.bat no Windows)
    • Este arquivo pode ser utilizado para rodar em background transformações que tenham sido previamente criadas através do modo gráfico (spoon) do PDI.
  • kitchen.sh (kitchen.bat no Windows)
    • Este arquivo pode ser utilizado para rodar em background Jobs previamente criados também através do modo gráfico (spoon) do PDI.
  • spoon.sh (spoon.bat no Windows)
    •  Este é o arquivo (script batch de execução) do PDI em modo gráfico, que nos permite desenhar as transformações e Jobs e efetivamente desenvolver nosso projeto.
  • carte.sh (carte.bat no Windows)
    • Possui 2 finalidades. Serve para que possamos clusterizar, dividir a carga do PDI, em diferentes instâncias, em diversos servidores. E serve também como Servidor de Aplicação, para que possamos executar Jobs e transformações do Pentaho em modo Web. 

Precisaremos dentro destes 4 arquivos localizarmos um parâmetro chamado -Xmx. Ele virá seguido de um tamanho de alocação de memória. Semelhante a isso:
  • -Xmx512m
Basta alterarmos aqui para o valor que queremos alocar.
Poderia ser algo como -Xmx4096m para usarmos por exemplo 4GB da RAM disponível.
Ou ainda -Xmx1024m, dobrando assim a memória, de 512MB para 1GB.


Só precisamos ter cuidado com o seguinte:
  • Não tentar alocar toda a memória para o PDI, mesmo em um servidor dedicado somente para ele, pois é necessário que se mantenha uma boa reserva para o Sistema Operacional também.
  • Cuidado com a alocação de memória em Sistemas Operacionais de 32bits, pois nestes não conseguiremos alocar mais que 1,3GB de RAM sem parametrização avançada do S.O. 

Neste link na Wikipedia também é possível ver uma explicação técnica sobre "Java Heap Size": http://en.wikipedia.org/wiki/Java_virtual_machine#Heap 

Abaixo também segue documentação oficial da comunidade Pentaho sobre os aplicativos acima mencionados:

Comentários

Anônimo disse…
Parabéns, ótimo post: completo, simples, direto ao ponto, útil.
Alexsandro Haag disse…
Obrigado Amigo.
Estive olhando seu blog também e gostei muito. Muitas dicas e artigos interessantes. Parabéns!

Postagens mais visitadas deste blog

[Openfire] - Ajuste de horário no cliente Spark

Verificar uso de disco em partição ASM do Oracle 11g no Linux