Escrito por Marcos Kirchner
em 23 de maio de 2011, 17:45h
Alguns detalhes de como funciona o mecanismo WSS (Windows Single Session) do Progress Client.
[Leia mais]
Escrito por Adriano Corrêa
em 27 de janeiro de 2010, 16:47h
O Alternate Buffer Pool permite gerenciar a alocação de memória a nível de tabela ou índice.
[Leia mais]
Escrito por Marcos Kirchner
em 1 de julho de 2009, 08:27h
Entenda como os utilitários do banco de dados possibilitam a geração de uma cópia consistente enquanto o banco de dados está em operação
[Leia mais]
Escrito por Nilson Nestor Wolfgramm
em 27 de maio de 2009, 08:19h
Espaço de endereçamento de processos 32 bits.
Muitos fatores afetam o total de memória compartilhada que o gerenciador de banco de dados pode alocar, dentre os quais, tamanho do programa, área de pilha necessária, bibliotecas compartilhadas, arquivos de mapeamento de memória, e memória alocada da heap. A título de curiosidade para quem quiser aprofundar conhecimentos a respeito da utilização de memória pelos sistemas operacionais dê uma olhada nos links http://msdn.microsoft.com/pt-br/library/bb202725.aspx, http://www.vivaolinux.com.br/artigo/Funcionamento-da-memoria/, e http://www.linuxjournal.com/article/4681.
As políticas de alocação de memória e endereçamento de espaço utilizadas pelos diferentes sistemas operacionais são complexas e variam muito de um para outro. O diagrama abaixo permite visualizar um layout exemplo de um espaço de endereçamento de processo 32 bits:
A maioria dos sistemas operacionais divide o espaço de endereçamento de 4GB em diferentes faixas de endereçamento. Cada faixa, também chamada seção, tem um propósito específico. Por exemplo, o sistema operacional deve reservar uma seção para o programa, ou código que está em execução. Da mesma forma deverá reservar seções para a pilha do programa e dados estáticos.
Considere o diagrama acima onde pode ser observada a divisão do espaço de endereçamento em seções, incluindo de kernel, de programa e seus dados, de espaço de pilha, de espaço para alocação dinâmica de memória(heap), e de dados globais que inclui memória e biblioteca compartilhadas, ou DLL´s.
O tamanho de cada seção varia dependendo do sistema operacional afetando a alocação dos segmentos de memória compartilhada.
A tabela abaixo apresenta alguns detalhes do espaço de endereçamento de processo para o Solaris, Linux, Windows, AIX, e HP-UX.
No próximo post veremos os resultados de alguns testes de utilização de memória compartilhada realizados com as releases 10.1B e 10.1C.
Escrito por Nilson Nestor Wolfgramm
em 26 de maio de 2009, 08:11h
Mudanças no Gerenciamento de Memória Compartilhada(Shared Memory)
A arquitetura de memória compartilhada do gerenciador do OpenEdge mudou, principalmente, das maneiras a seguir :
o método utilizado pelo gerenciador para endereçar a memória compartilhada foi incrementado de maneira que no OpenEdge é possível agora endereçar quantidades maiores de memória alocada, tanto em sistemas operacionais 32 bits, quanto 64 bits.
Agora é possível especificar o tamanho máximo do segmento de memória compartilhada que o gerenciador alocará. Em Progress 9, o tamanho máximo do segmento era de 128 megabytes para sistemas de 32 bits, e 1 gigabyte para sistemas de 64 bits. Estas melhorias permitem ao gerenciador do OpenEdge utilizar os tamanhos de segmentos que você especificar. Contudo, cada sistema operacional posui limitações que o Progress OpenEdge deve obedecer.
No OpenEdge é possível endereçar até 4 gigabytes em sistemas de 32 bits, sendo que em sistemas de 64 bits é possível endereçar até 8 terabytes. Estes limites são arquiteturais, do Progress, de maneira que na prática as limitações impostas pelo sistema operacional, não permitem fazer uso de tudo que o Progress suportaria. Isto é particularmente verdadeiro em sistemas 32 bits porque o espaço de endereçamento do processo inteiro é de 4 gigabytes e não se pode utilizar ele todo com a memória compartilhada. Na prática, a maioria das releases OpenEdge 32bits está limitada a um máximo de aproximadamente 2 gigabytes de memória compartilhada.
O parâmetro de configuração de banco de dados, –shmsegsize, é o que permite definir o tamanho do segmento de memória. Este parâmetro permite definir o tamanho do segmento para cada banco de dados, separadamente, na carga de cada um. Caso não esteja explícitamente definido, o gerenciador do banco irá estimar automaticamente o tamanho dos segmentos, baseado nos requisitos de memória exigidos pelo banco.
No próximo post apresentaremos o conceito de “espaço de endereçamento do processo”.
Escrito por Nilson Nestor Wolfgramm
em 1 de abril de 2009, 09:29h
Volumes gerados pelo Tablemove no Before Image
[Leia mais]
Escrito por Marcos Kirchner
em 26 de março de 2009, 11:32h
Apesar de o SQL Server não possuir objetos do tipo seqüência, os programas Progress 4GL / ABL conseguem utilizá-las. Na prática, o DataServer as está emulando. Veja como isto funciona.
[Leia mais]
Escrito por Adriano Corrêa
em 16 de fevereiro de 2009, 17:03h
O que precisa ser feito para administrar o before-image.
[Leia mais]