Em 04/10/06, Teo Teo<[EMAIL PROTECTED]> escreveu:
Obrigado pela resposta Marcos!

Realizei mais alguns testes e percebi que o uso de memória RAM foi se
esgotando e o sistema fica instavel, apresentando resets (bem ao estilo
WatchDog) ou kernel panic, quando sobravam 15kbytes.

Bom, isso não é um bom sinal...

Analisando seus papites:
* será q seu programa nao está c/ vazamento de memória?
Este meu sw embarcado é composto por um executavel e mais 2 device drivers
(um para aquisição de dados provenientes do DMA e outro para controle de uma
placa no barramento ISA).
Investiguei o uso de memória destes 3 elementos, mas não diagnostiquei
nenhum vazamento de memória.

Bom, quem ia ocupando então toda aquela ram q vc fala ai em cima?

* será q não acabaram os inodes do disco?
Não sei... poderia me indicar alguma fonte de pesquisa sobre este assunto?

Se estiver usando ext2/3 vc pode usar o comando 'df -i'. reiserfs não
sofre desse problema. procure na wikipedia (em portugues mesmo tem)
sobre ext3, inode, reiser etc...

* tentou usar uma outra partição, c/ outro sistema de arquivos?
Tentei utilizar o sistema EXT3, mas o sistema travou feio.. é pior que o
ReiserFS.
Pensei em fazer testes com FAT também... mas ainda não realizei.

Se estive trabalhando com muitos arquivos num unico diretório, o
reiser é bem melhor q o ext3. Sem discussão....

* tenta diminuir o tamanho da fila circular, de 2000 p/ 10 e veja o que
acontece no mesmo intervalo de tempo dos 2000
Este é o teste atual que estou fazendo... diminui a fila de 2000 para 100
registros.. estou a cerca de 1 hora gerando registros de 1 em 1 segundo e
ainda não travou o sistema, o uso de memória RAM também aparentemente
estável. Sendo que antes o sistema travava em 15 minutos de operação...
Creio que o problema seja este...

Esse qual? Nao vi a causa do problema... vi uma mandeira de evitá-lo,
mas não de identificá-lo.


Outro teste que fiz foi alterar o acesso ao disco de PIO para UDMA
(habilitando no setup) e utilizando um cabo apropriado de forma que a BIOS
detectou como ATA100. Porém isto não resolveu o problema... Eu imaginava que
a geração dos registros estavam mais rápidos que o tempo de gravação dos
dados no HD.

Bom, acho q vc poderia deixar sempre em DMA, pois o sistema fica mais
'folgado' dessa forma...


Só mais um detalhe... depois que o sistema travou com a fila em 2000
registros, investiguei o /var/log/system e tinha as linhas:
"kernel: on node 0 total pages: 65024
kernel: zone(0): 4096 pages.
kernel: zone(1): 60928 pages.
kernel: zone(2): 0 pages"
Será que isto tem algo a ver com o problema?

Nem imagino... talvez seja efeito da memória se esgotando e nao tenha
a ver com o problema do disco.

--
Marcos

Responder a