[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.
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
Estive olhando seu blog também e gostei muito. Muitas dicas e artigos interessantes. Parabéns!