Nestas duas últimas semanas, venho trabalhando em alguns projetos com servidores aplicacionais JAVA (JBoss neste caso), onde 99% deles rodam em ambiente virtual(VMware), utilizando Linux RedHat em 64Bits e JDK 1.5 64Bits. A performance é excelente graças ao seguinte conjunto de fatores:

  • Processadores 64bits
  • Sistema operacional 64bits
  • JDK 64bits

Estes três fatores conseguem gerar um ambiente estável, performático e com capacidade de ajustes se compararmos com ambientes 32bits.

Dependendo da aplicação e suas funcionalidades ainda é possível a execução de ajustes na JVM que possibilitam um ganho de 50% de performance, em alguns casos, é claro.

Mas quando falamos em ambientes aplicacionais JAVA funcionando em arquitetura 32bits, o buraco é mais embaixo, principalmente para ambientes que precisam atender uma grande demanda de transações ou requisições.

Caso haja necessidade de aumentar à memória alocada para a JVM rodando em 32bits, fica limitado teoricamente o valor de 4GB, digo teoricamente já que em sistemas Windows 32bits suporta 3GB e com uma configuração especial no boot.ini, isso para todo o sistema, incluindo a JVM.

Caso você receba a mensagem abaixo em um ambiente windows 32bits e a sua JVM esteja configurada com 2GB de memória, já que você precisa deixar 1GB de memória para o SO, lhe resta poucas alternativas de configuração e uma única opção no final, migrar o seu sistema/aplicação para arquitetura 64bits.

Exception java.lang.OutOfMemoryError: requested <size> bytes

A especificação da arquitetura de um ambiente Web é um dos momentos mais importantes de um projeto, isso será vital para a escalabilidade e mantenimento da sua aplicação e do seu ambiente. Fora a quantidade de horas gastas desnecessariamente na re-instalação de um novo ambiente  para atender uma falha do projeto. Quem paga a conta é você ou a empresa qual você trabalha.

Em resumo, caso você tenha hardware compatível com 64bits, instale tudo para 64bits.

Compartilhar:

Deixe uma resposta

Fechar Menu