Memory Low

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Memory Low

Mensagem por ALEX BORELLI »

Estou enfrentando problema de Memory Low. Uso Clipper 5.2 e Blinker 7.

Meu Config esta assim:

Código: Selecionar todos

dos=high, umb
device=%SystemRoot%\system32\himem.sys
files=240
buffers=32,0
Meu Autoexec esta assim:

Código: Selecionar todos

REM Instalar as extensoes CD ROM
lh %SystemRoot%\system32\mscdexnt.exe

REM Instalar o redirecionador da rede (carregar antes do dosx.exe)
lh %SystemRoot%\system32\redir

REM Instalar o suporte DPMI
lh %SystemRoot%\system32\dosx

set clipper=f240

Estou tentando usar o indice NSX com a RDD SIX3 e noto que em muitos lugares do sistema o mesmo retorna o erro MEMORY LOW.
Estou link editando com a rotina abaixo descrita:

Código: Selecionar todos

BLINKER OVERLAY FIXED

BLINKER OVERLAY OPSIZE 60

BLINKER INCREMENTAL OFF

BLINKER OVERLAY PAGEFRAME ON

BLINKER OVERLAY THRESHOLD 256
BLINKER CACHE XMS 512, 25%
BLINKER CACHE EMS 128, 50%
BLINKER EXECUTABLE NODELETE

OUTPUT ESTOQUE.EXE

BEGINAREA
FILE ESTOQUE
FILE PSLIB
FILE PSLIB2
FILE PSLIB3
FILE PSLIB4
FILE PSLIB5
FILE PSLIB6
FILE PSLIB7
FILE PSLIB8
FILE PSLIB9
FILE PSLIB10
FILE PSLIB11
FILE PSLIB12
FILE PSLIB13
FILE PSLIB14
FILE PSLIB15
FILE PSLIB19
FILE ESCOLA
FILE FORMAS
FILE NOTAS
FILE COTACAO
FILE AUTOR
FILE EDITORA
FILE COLECAO
FILE PRODUTOS
FILE PSLIB16
FILE APAGAR
FILE FORNECE
FILE arqtext
FILE besc
FILE PSLIB20
FILE KITS

ENDAREA

BEGINAREA

LIB \CLIPPER5\SIX302\LIB\SIX3.LIB

ENDAREA

LIB \CLIPPER5\SOURCE\PE\PE.OBJ
LIB \CLIPPER5\LIB\NANFOR
LIB \CLIPPER5\LIB\OSLIB
LIB \CLIPPER5\LIB\CPMI.LIB
LIB \CLIPPER5\LIB\DIVIDE52.OBJ
LIB \CLIPPER5\LIB\VIEWER.LIB
LIB \CLIPPER5\LIB\RELOGIO
LIB \CLIPPER5\LIB\PCTERROR.OBJ
LIB TIMESLIC.OBJ
Alex Borelli
Editado pela última vez por ALEX BORELLI em 08 Mai 2008 12:41, em um total de 1 vez.
Alex Borelli
Arpa Sistemas
www.arpasistemascom.br
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Re: MEMORY LOW

Mensagem por Pablo César »

Ja experimentou linkar sem tantas opções, sem tantos BEGIN SEQUENCEs ?. Não sou perito em BLINKER mais sei que quanto mais simples puder deixar seu script de linkedição, melhor será.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: MEMORY LOW

Mensagem por Maligno »

O problema de trabalhar com o modo real é o fato de ter uma memória mais limitada, o que leva à uma maior fragmentação desta, já que o espaço de trabalho é mais limitado, o quê, inclusive, força a ocorrência de um maior número de swaps em disco. Um melhor planejamento na montagem de overlays (BEGINAREA/ENDAREA) até ajuda, mas não faz milagre. Uma vez que o garbage collector do Clipper não funciona corretamente em background, seria necessário pará-lo de vez com a FreeTSlice() e emitir manualmente algumas chamadas Memory(-1) para forçar a coleta de lixo, desfragmentando a memória. Esses procedimentos até poderiam resolver o problema. Não sei se o OP faz isso, mas fazendo ou não, é só um paliativo.

Acho que o ideal seria passar o programa para o modo protegido e aproveitar a memória alta para acabar com esse tipo de problema de uma vez por todas. Se bem que, apesar de ocorrer em menor grau, esse modo também pode apresentar problemas com a fragmentação de memória, podendo ser necessário acionar o garbage collector manualmente por chamadas à Memory(-1). Mas isso depende de vários fatores: tamanho do programa, como é utilizada a memória, etc. Mas no geral, o modo protegido é sempre muito melhor.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Re: MEMORY LOW

Mensagem por ALEX BORELLI »

Maligno e amigos

Algum poderia me dar uma dica de como seria essa melhor montagem de overlays ou dicas de regras para o mesmo?
Alex Borelli
Arpa Sistemas
www.arpasistemascom.br
Responder