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.
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.
* será q não acabaram os inodes do disco?
Não sei... poderia me indicar alguma fonte de pesquisa sobre este assunto?
* 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.
* 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...
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.
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?
Stéfano
From: "Marcos Lazarini" <[EMAIL PROTECTED]>
To: "Teo Teo" <[EMAIL PROTECTED]>
CC: debian-user-portuguese@lists.debian.org
Subject: Re: Teste de Stress em Gravação de Dados no HD
Date: Tue, 3 Oct 2006 22:06:49 -0300
Em 03/10/06, Teo Teo<[EMAIL PROTECTED]> escreveu:
Oi pessoal!
Estou desenvolvendo um software em plataforma Linux (debian 3.0r2 - versão
2.4.18-bf2.4) que grava um conjunto de arquivos no HDD (totalizando cerca
de
200kbytes) a cada 1 segundo.
Este conjunto de arquivos é chamado de registro e há um diretório
correspondente, por exemplo, "regX", onde "X" é o numero do registro.
Os registros utilizam a filosofia de "fila circular", isto é, o registros
mais novos vão sobrescrevendo os mais antigos, com um número máximo de
2000.
Portanto, o software fica acessando o HDD e grava 200kbytes no diretório
"reg1", depois de 1 segundo grava mais 200kbytes no diretório "reg2",... e
assim sucessivamente até chegar no diretório "reg2000", e então retorna
para
o diretório "reg1" e o procedimento de "giro" da fila circualr se repete
contantemente.
Porém,... detectei que o sistema de arquivos é danificado depois de gravar
uma elevada quantidade de registros.
Depois alterei o software e resolvi dar "sync" a cada término de gravação
de
registro. Com isto, o sistema de arquivos não é mais danificado, porém o
PC
dá um Reset (bem parecido com WatchDog Timer).
já usei um torrent uma vez de um .iso e veio a 100kb/s... nunca tive
problema, e continuei usando o micro numa boa.
alguns papites:
* será q seu programa nao está c/ vazamento de memória?
* será q não acabaram os inodes do disco?
* tentou usar uma outra partição, c/ outro sistema de arquivos?
* tenta diminuir o tamanho da fila circular, de 2000 p/ 10 e veja o
que acontece no mesmo intervalo de tempo dos 2000
--
Marcos
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]