Jump to content
Fivewin Brasil

Consumo de Memória - O Retorno


SAOliveira

Recommended Posts

A Aplicação ativa na mémoria ira a medida que eu abrir janelas e fecha-las,

consumir recursos até estourar a memoria RAM disponível? ou windows cuidará

disso pra mim?

EM 32 BITS, NAO ESTOURARA A MEMORIA.

AGORA SE VOCE TEM UM PROCESSAMENTO MUITO GRANDE, DENTRO DE UM WHILE...ENDDO,

USE O COMANDO SYSREFRESH(), EX:


WHILE .NOT. EOF()

SYSREFRESH()

... PROCESSAMENTO

ENDDO

id=code>id=code>

AO SAIR DA ROTINA, USE O COMANDO:

//-> Limpa a memoria(lixo gerado pelo sistema)

HB_GCALL() // xHarbour - nao abuse - quase igual ao CLEAR MEMORY.

Use este comando, apenas quando for necessario.

Cada caso e um caso, geralmente, o WINDOWS se encarrega de gerenciar a memoria, Isto e problema dele. Agora, se a maquina e velha e tem um monte de programas rodando nele, ele virara carroca mesmo. os novos processadores provavel, nao se tera problemas.

Abracos

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Editado por - kapiaba on 16/07/2010 10:24:27

Link to comment
Share on other sites

  • Replies 89
  • Created
  • Last Reply

Top Posters In This Topic

Oi Jõao,

Acho que seria bem mais simples o Linhares colocar uma Correção/função/configuração dentro do FWH para resolver isso, do que a gente fazer.

t+

FWXH 10.06, PELLESC, MYMAKE 1.9J, DBF

Belzonte - Minas Gerais

msn: tiaopessoa@hotmail.com

Link to comment
Share on other sites

Tião, como eu disse:

Ninguém sabe tudo e é o dono da razão, lembre-se sempre disso! Muito menos eu...

Solução sempre tem, agora automático, só Deus sabe se o Linares consegue, talvez a API do windows não permita. Não sei... Fico devendo.

Abraços.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Oi João!

Você que é amigo intimo do Linhares podia conversar com ele, será que não?

Tenho certeza que se voce pedir ele vai atender.

Ficamos no aguardo.

FWXH 10.06, PELLESC, MYMAKE 1.9J, DBF

Belzonte - Minas Gerais

msn: tiaopessoa@hotmail.com

Link to comment
Share on other sites

citação:

Oi João!

Você que é amigo intimo do Linhares podia conversar com ele, será que não?

Tenho certeza que se voce pedir ele vai atender.

Ficamos no aguardo.

FWXH 10.06, PELLESC, MYMAKE 1.9J, DBF

Belzonte - Minas Gerais

msn: tiaopessoa@hotmail.com


id=quote>id=quote>

Intimo?? não... não... kkkkk, melhor é passar o problema para o Dr. Gilmer. Eu prefiro não entrar nesta briga ainda. Abraços.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

@Tiao..

o Linares ja respondeu e deu uma possivel soluçao...soh ainda nao testei aki..mas irei testar.

@Eric

Tendi oq vc falow...sei q ate o NotePad consome recursos...mas...oq eu nao kero q meus sistemas..entrem nessa barca..de Consumir e nao liberar...

..por outro lado...se eh assim q as coisas Funcionam mesmo...ai nao tem oq fazer....

...mas...ainda acho...q deve haver uma maneira de controlar isso...pois....andei falando com u mpessoal de VB..q jurou de pé junto...q isso aki..funfa com eles:

http://www.macoratti.net/vbn5_dpo.htm

nao manjo muito..e nao tive tempo de pesquisar a fundo...nao sei se funcionaria com a gente eh um funçao do VS..e ja vi no Msdn..q tem como usar em C++.

Mas eh isso ai...se tiver como Liberar 'bem' senao...da-lhe memoria na maquina do cliente e Amém...kkkkkkk

@braços Ale

aleseribeli@hotmail.com

Andradina/SP

"Quando o Gato sai, os Ratos fazem a Festa!"id=red>

Link to comment
Share on other sites

Ale SB,

Acho um exagero esse tipo de preocupação, durante o uso aplicações só usarão uma pequena fração da memória. Aplicações bem mais robustas, em linguagens mais pesadas, onde tudo ou quase tudo é OOP, e não vejo problemas. Se tivesse fundamento, então não poderiamos abrir, Word, Excel e vários outros ao mesmo tempo.

Esse comportamento acredito que seja "arquivos particulares do Windows" para ter um melhor desempenho, ou seja, sem muita relação com a particularidade da sua aplicação (variaveis e objetos), o link que postou, parece que é isso que se trata. Conseguir interferir no que é particular do Windows, acredito que sua aplicação ficará mais lenta.

Foi comentado sobre versões, com uma aplicação xHarbour(1.00)+FiveWin(6.12) acontece o mesmo que relatei com o WordPad.

Se esta percebendo problemas na sua aplicação, sugiro direcionar atenção para rever a lógica, boas práticas de codificação, mais antes, rastreie "as instruções exatas" que causam a lentidão. Um simples DATE() fora de lugar em um relatório, já economizei 20 segundos de processamento, ou seja, basta uma linha.

citação:

@Eric

Tendi oq vc falow...sei q ate o NotePad consome recursos...mas...oq eu nao kero q meus sistemas..entrem nessa barca..de Consumir e nao liberar...

..por outro lado...se eh assim q as coisas Funcionam mesmo...ai nao tem oq fazer....

...mas...ainda acho...q deve haver uma maneira de controlar isso...pois....andei falando com u mpessoal de VB..q jurou de pé junto...q isso aki..funfa com eles:

http://www.macoratti.net/vbn5_dpo.htm

nao manjo muito..e nao tive tempo de pesquisar a fundo...nao sei se funcionaria com a gente eh um funçao do VS..e ja vi no Msdn..q tem como usar em C++.

Mas eh isso ai...se tiver como Liberar 'bem' senao...da-lhe memoria na maquina do cliente e Amém...kkkkkkk

@braços Ale

aleseribeli@hotmail.com

Andradina/SP

"Quando o Gato sai, os Ratos fazem a Festa!"id=red>


id=quote>id=quote>
Link to comment
Share on other sites

Pessoal!

Se alguem não concorda ou acha que "solução" apresentada pelo Linares não é válida, envie um email para mim com o exemplo e os motivos que irei falar com Linares, só não adianta ficar discutindo sexo de anjo no forum, ou falando o que o Linares deixa de fazer ou deveria fazer, vamos conversar com ele e ver o que ele pode falar, se alguem aqui soubesse os motivos aqui, certamente já teria feito seu próprio fivewin, lembrando que ainda acho usuário no forum que não sabe nem como o windows gerencia a memória ou mesmo o que é um recurso via de fato, assim! e nem mesmo acessou um MSDN da microsoft para ler a API do windows... se tem um problema, vamos tentar resolver! alias.. se for realmente um problema!!!

Assim! vale lembrar que a forma de compilar, os parametros do linker, podem gerar problemas de memória (no qual quase ninguem dos usuários de fivewin um dia parou para ler a documentação, apenas usa a formula que esta no xdev, xmate, etc..), vale também lembrar que RDD's seja ele rddsql, sqllib, classes de terceiros (principalmente visuais) pode trazer problemas. Outro detalhe importante você nunca poderá comparar um aplicativo que acessa banco de dados, principalmente DBF, no qual cria um sistema de buffer local, com um aplicativo simples, onde no máximo carrega uma string wide ou qualquer outra coisa! em fim pode ser muita coisa!!!

Quanto a resposta do Linares, ele disse que o xBrowse, tinha problemas e que foi arrumado na versões mais nova. Ele lembrou também que HARBOUR não se liberta definitivamente até que não se chama a hb_gcAll, acredito que isto esta claro, você também deve se preocupar em liberar a memória, pois ele se preocupa com o FiveWin e você deve se preocupar com seu código!

e-mail: gilmer@fivewin.com.br

msn: fivewinbrasil@hotmail.com

Link to comment
Share on other sites

Um professor meu dizia:

Nao existe perguntas idiotas,

Existe Idiotas q não fazem perguntas."

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

Dá para explicar? eu não entndi....

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

Calma Alê, o Gilmer somente estva explicando o que o Linares falou... Vc. tá nervoso porque?

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Nervoso eu..to nao..kapi..entao..interpretamos de forma diferente oq o Gilmer disse..

Mas blz..pra mim ta bom de qq forma...

Tb nao kiz ofender ninguem nao...soh nao kero q o topico tome rumos diferente..q esta sendo discutido aki.

Final de semna..eu testo..a dica do Linares e boa...oq ele disse tem logica.

Soh keria amenizar..o consumo de recursos.

tb ja estou revendo minha logica aki...como o Eric disse..pode ter coisa fora do lugar..q pode causar esse problema tb.

@braços Ale

aleseribeli@hotmail.com

Andradina/SP

"Quando o Gato sai, os Ratos fazem a Festa!"id=red>

Link to comment
Share on other sites

citação:

Nervoso eu..to nao..kapi..entao..interpretamos de forma diferente oq o Gilmer disse..

Mas blz..pra mim ta bom de qq forma...

Tb nao kiz ofender ninguem nao...soh nao kero q o topico tome rumos diferente..q esta sendo discutido aki.

Final de semna..eu testo..a dica do Linares e boa...oq ele disse tem logica.

Soh keria amenizar..o consumo de recursos.

tb ja estou revendo minha logica aki...como o Eric disse..pode ter coisa fora do lugar..q pode causar esse problema tb.

@braços Ale

aleseribeli@hotmail.com

Andradina/SP

"Quando o Gato sai, os Ratos fazem a Festa!"id=red>


id=quote>id=quote>

Sabia decisão... Não somos os donos da verdade. E o Eric, tem razão e Linares também, Como nunca tive problemas de recursos, rever a lógica é o primeiro passo.

Abraços meu loiro.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Eu critiquei alguem?! vc esta dolorido pq?

Se você ler meu post, estou falando para mandar o exemplo que irei falar com o Linares! mas falei também que existe n motivos, motivos que ninguem lembra as vezes!

e-mail: gilmer@fivewin.com.br

msn: fivewinbrasil@hotmail.com

Link to comment
Share on other sites

Realmente Gilmer..desculpe..me equivoquei a toa..eh a correria..li mal seu Post..

mil perdoes...

vamos ao q interessa

Testarei a soluçao do Linares e vou rever meu codigo...qq coisa eu grito ai pra vcs..valew galera

@braços Ale

aleseribeli@hotmail.com

Andradina/SP

"Quando o Gato sai, os Ratos fazem a Festa!"id=red>

Link to comment
Share on other sites

Falei com Sergio e ele falou que um dos "problemas" que ele tem, é quando ele faz um loop aparece a mensagem que aplicativo não esta respondendo e o consumo da máquina vai a 100%.

Solução:

Isto ocorre em qualquer rotina com loop, pois o loop gera um processo "pesado" não permitindo a troca de enventos entre o windows e o aplicativo, a solução é colocar um sysrefresh() ou syswait() dentro do loop, isto vai permitir abaixar o consumo da máquina. Vale lembrar que isto ocorre em qualquer aplicativo visual em Loop, até mesmo no desenvolvimento de jogos.

e-mail: gilmer@fivewin.com.br

msn: fivewinbrasil@hotmail.com

Link to comment
Share on other sites

Realmente Gilmer.

SysRefresh(), poucos casos usei.

Na maioria dos casos, usava uma SysWait(0.05), que era o suficiente para os casos de Loops.

Nos casos de loops de grande prossessamento, já não apresentava mais, desde que passei a usar MySql com comandos nativos (cerca de 4/5 anos), que diminuiu de forma absurda os Seeks e Whiles.

Providencias minhas:

- Rever os meus sistemas.

- Pecar por redundância.

RodapeEmail.JPG

"Não faça para o proximo o que não quer para sí mesmo!"

Link to comment
Share on other sites

citação:

Realmente Gilmer.

SysRefresh(), poucos casos usei.

Na maioria dos casos, usava uma SysWait(0.05), que era o suficiente para os casos de Loops.

Nos casos de loops de grande prossessamento, já não apresentava mais, desde que passei a usar MySql com comandos nativos (cerca de 4/5 anos), que diminuiu de forma absurda os Seeks e Whiles.

Providencias minhas:

- Rever os meus sistemas.

- Pecar por redundância.

RodapeEmail.JPG

"Não faça para o proximo o que não quer para sí mesmo!"


id=quote>id=quote>

Bom Dia!!! O que seria um Loop de grande processamento?id=red> é que eu faço um loop em alguns relatórios em arquivo DBF para obter os dados para a listagem, e armazeno em ARRAY, para depois listar. Isto poderia ser e/ou tornar um loop grande processamento conforme o arquivo fica maior?id=red>Lembro também que no momento que vou buscar este dados , antes me posiciono no registro a partir de onde vou buscar os dados (com indice).

Em Cristo!

Rone - Itajubá(MG)

id=red>

xHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 7.12 + xDevStudio

A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)id=blue>

Link to comment
Share on other sites

  • 1 year later...

citação:

Tambem tive esse problema, inclusive postei aki:

http://www.fivewin.com.br/forum/topic.asp?whichpage=1&ARCHIVE=&TOPIC_ID=15109

O Forum pegou fogo e no final nao teve solucao !

Acabei resolvendo com "mangiarras", ficou horrivel o codigo !!!

[]'s

Gilberto Frohlich - Toledo/PR

giba_f@hotmail.com

giba_f@yahoo.com.br

xHarbour xBuild+Fivewin 2.7+PellesC+(Postgres+DB2)


id=quote>id=quote>

ressucitando esse topico: ainda tenho problema de consumo de memoria/recursos. Venho sempre acompanhado se surgiu algo de novo q pudesse amenizar esse problema ou resolver completamente.

Vejam q interessante: uma rotina que onde ocorre o consumo de memoria/recurso, eh quando eh executado pelo Terminar Server (Windows 2003 Server), sem gerar o error.log. Quando essa mesma rotina eh executado fora do TS nao acontece, tipo no Windows local...

Por isso a pergunta: será q tem algo no TS q faz ter esse consumo ?

Gilberto Frohlich - Toledo/PR

giba_f@hotmail.com

giba_f@yahoo.com.br

xHarbour xBuild+Fivewin 2.7+PellesC+(Postgres+DB2)

Link to comment
Share on other sites

Kapiaba ???

eu ja uso o hb_gcAll() e uso o wBrowse...

mas, sabe me dizer se o acesso pelo Terminal Server pode ter algum problema ? Q a mesma rotina nao usando o TS nao acontece o problema...

Obrigado por responder...

Agradeco, ainda, a quem ainda puder ajudar...

Gilberto Frohlich - Toledo/PR

giba_f@hotmail.com

giba_f@yahoo.com.br

xHarbour xBuild+Fivewin 2.7+PellesC+(Postgres+DB2)

Editado por - gibaf on 20/03/2012 15:06:08

Link to comment
Share on other sites

citação:

Kapiaba ???

eu ja uso o hb_gcAll() e uso o wBrowse...

mas, sabe me dizer se o acesso pelo Terminal Server pode ter algum problema ? Q a mesma rotina nao usando o TS nao acontece o problema...

Obrigado por responder...

Agradeco, ainda, a quem ainda puder ajudar...

Gilberto Frohlich - Toledo/PR

giba_f@hotmail.com

giba_f@yahoo.com.br

xHarbour xBuild+Fivewin 2.7+PellesC+(Postgres+DB2)

Editado por - gibaf on 20/03/2012 15:06:08


id=quote>id=quote>

Somente para dar "descarga" na minha memória, o senhor poderia postar o fonte que ocorre este problema?

Se não quiser postar envie em meu email para eu dar uma olhada, por favor.

Não sei te responder, seria interessante voce procurar CONSUMO DE MEMORIA em Terminal Server, acho que dispararia para o site da Micro$oft e terias uma idéia.

Abs.

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832

http://pt-br.facebook.com/people/Jo%C3%A3o-Santos/100001195894196

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...