Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Consumo de memória de aplicações de 32 bitsEsteartigoaplica-seaexecuçãodosprodutosTOTVS(TOTVS|ApplicationServereTOTVS|DBAccess),emsistemasoperacionaisWindowsXP32 bits, WindowsServer2003(ou superior) 32bitse64bits.Abrangência |
Limite de memória em 32 bitsExistem alguns aspectos importantes que devem ser considerados sobre o consumo de memória de uma aplicação 32 bits. Desta forma, é importante ressaltar que a arquitetura de x86/32 bits tem uma limitação importante para endereçamento e alocação de memória RAM. Pois, a arquitetura de 32 bits pode endereçar nativamente no máximo 4 GB de memória RAM (232=4.2 bilhões ~ 4 GB). Endereçamento de memóriaAo utilizar o sistema operacional Windows 32 bits, com endereçamento de 4 GB de memória, 2 GB é reservado para o funcionamento do Kernel e o restante (2GB) ficam disponíveis para processos e aplicações do usuário em execução no equipamento. Como o processo utiliza a memória de forma contínua, e o próprio processo de alocação utiliza uma parte da memória para controle interno, uma instância de um processo consegue endereçar aproximadamente 1.8 GB de memória. No entanto, esses números são aproximados, não há uma métrica precisa. Já o limite de endereçamento real da aplicação é um pouco abaixo disso, pois a memória exigida para armazenar o programa e a pilha de execução (Stack), alocadas internamente pela aplicação, também são contabilizadas nesse limite. Desta forma, o TOTVS | Application Server e o TOTVS | DBAccess, quando executados em uma máquina de 32 bits, entram nesse limite de endereçamento de memória. Verificando a memória alocada por um processoPara determinar a quantidade total de memória física ou não alocada e endereçada por um processo, pode-se utilizar a aplicação do Gerenciador de tarefas do Windows (Task Manager).
Memória RAM e Paging FileAo contrário do que se imagina, a A informação apresentada na coluna Tamanho da VM, do gerenciador de tarefas do Windows, não significa que a memória alocada seja efetivamente virtual; ou seja, memória alocada em disco. A informação apresentada, no Gerenciador de tarefas do Windows Commit Size, do Gerenciador de Tarefas (Task Manager) do Windows indica a quantidade de memória em KB endereçada pelo processo .não somente em memória RAM física, mas também em memória no disco. O fator que determina a partir de um momento se parte dessa memória está endereçada em disco, é a disponibilidade da memória física no equipamento, ou seja, a quantidade efetiva de memória RAM do servidorda máquina. Para isso, o Windows cria um arquivo em disco, chamado paging file ou swap file, para armazenar parte do programa e memória alocada no disco quando as alocações de memória da aplicação não cabem na memória física (RAM) disponível. ExemploUma máquina de 1 GB de RAM, com paging file de 1 GB, tem uma área de endereçamento total de 2 GB. Conforme as aplicações em execução vão alocando memória, é priorizada a alocação da RAM. Mas, quando o total de memória RAM alocada se aproxima de 1 GB e as aplicações pedem mais memória, parte do conteúdo da memória física já alocada por uma aplicativo são transferidas para o paging file, e mais memória RAM é liberada. Quando um aplicativo solicita um conteúdo de memória anteriormente alocado, e caso não esteja no disco, outra área da memória alocada será transferida para o disco e o conteúdo solicitado será lido do disco para a RAM, para ser usada pela aplicação.Uma vez que a memória física é totalmente ocupada, o sistema operacional começa a utilizar o paging file para alternar as alocações e, com isso, o desempenho das aplicações e do equipamento cai drasticamente. Esse estado de baixo desempenho, devido à utilização do paging file, é conhecido como entrar em swap. Configurando o tamanho do paging fileIndependentemente da quantidade de memória física (RAM) disponível, deve-se ter o paging file habilitado, como medida de segurança, principalmente se o equipamento possui muita memória RAM. Pois, caso exista um excesso de consumo de memória por um ou mais aplicativos juntos, e a memória RAM for completamente ocupada, e o recurso de paging file não estiver configurado/disponível, o sistema operacional cairá imediatamente (crash). O desempenho com o paging file habilitado não representa nenhum problema, pois as alocações de memória são priorizadas para uso de memória física (RAM).
O paging file/swap somente será alocado quando as alocações se aproximarem do total físico disponível (RAM) e ultrapassarem esse valor sempre são alocados e administrados pelo Windows de acordo com as alocações e sua utilização de blocos de memória. Por isso, recomendamos manter as configurações do paging file utilizando as configurações sugeridas pelo sistema operacional (System Managed Size). Desta forma, o sistema operacional deve criar o arquivo de paging file com o tamanho correspondente a memória física disponível.
Monitor de desempenho do gerenciador de tarefas do Windows (Task Manager)Através Gerenciador de tarefas do Windows, na pasta Desempenho, é possível obter as seguintes informações e comportamentos de um equipamento:
Neste exemplo, o equipamento em questão está com Windows XP com paging file configurado com capacidade 672 MB.
Em geral, um ambiente configurado para utilização de memória virtual através do arquivo de paginação (Paging File), quando a quantidade total de memória alocada (Carga comprometida ->Total ou Uso do arquivo de paginação) atinge a quantidade de memória física total (Memória Física ->Total), o sistema operacional já está utilizando o paging file como memória adicional. Desta forma, o sistema operacional permite que sejam manipulados quase 1 GB de memória, porém, a partir dos 450 MB utilizados, o paging file será utilizado para emular a memória física deixando o equipamento e as aplicações em uso muito lento. Limite apurado em teste de cargaSistema Operacional / Equipamento Aplicação: Teste Análise: TOTVS | Application Server - Considerações sobre balanceamento de cargaRecomendamos o uso do Sistema dos ERPs Microsiga Protheus e Logix com balance (Balanceamento de Carga), em casos quando se tem uma demanda de usuários e aplicações que necessite mais do que o limite operacional, pois assim cada serviço slave terá o limite de endereçamento de cada servidor utilizado. Inclusive, se houver memória e capacidade de processamento (CPU), pode-se configurar mais de um serviço , do Microsiga Protheus, no mesmo equipamento. O balanceamento de carga é utilizado com eficácia para conexões , do TOTVS | SmartClient, em que as novas conexões são direcionadas aos servidores slaves de acordo com o fator de carga de cada servidor, configurado no balance, e a quantidade de usuário conectado nos slaves.
Utilização do parâmetro
Observação
Nas atualizações mais recentes, não existe a necessidade de habilitar esse parâmetro, pois, por padrão, já vem configurado. |
Utilização do TOTVS |DBAccessAppserver 32 bits em Windows 64 bits
Ao compilar a aplicação para modo nativo 32 bits, a mesma é executada sem nenhum demérito ou perda de desempenho em uma máquina 64 bits, utilizando uma versão de Windows 64 bits, como por exemplo o Windows Server 2003 Enterprise x64. Para execução de aplicações de 32 bits, em Windows 64 bits, o sistema operacional executa a aplicação através de um subsistema chamado WOW64 (Windows on Windows 64), que realiza a adequação necessária para executar a aplicação 32 bits de modo transparente para a aplicação, disponibilizando ainda de forma nativa DLLs específicas do sistema operacional em pasta diferenciada para manter a compatibilidade com programas compilados e linkeditados para utilização de recursos do sistema operacional Windows em 32 bits. Neste ambiente, o sistema operacional permite à aplicação a alocação de 4 GB de memória por processo 32 bits.
Limites reais de endereçamento com AppServerConsulte Testes de carga em aplicações 32 bits e 64 bits - Windows para mais informações de limites de carga no Appserver.
Considerações sobre a plataforma LinuxExistem recursos similares nas plataformas Linux, com versões do Kernel 2.4 e superiores, que permitem adequações de comportamento similares aos recursos apresentados pelo Windows. No entanto, para obter mais informações desse recurso e afins, é necessário consultar os documentos que são disponibilizados no pacote de distribuição Linux. A TOTVS S/A analisa e testa essas informações nas plataformas homologadas para, posteriormente, incluir essas características nas versões e distribuições homologadas para uso com o TOTVS | Application Server e TOTVS | DBAccess. Para maiores informações, consulte Consumo de memória de aplicações 32 bits - Linux.
|