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" <mvlaza@gmail.com> To: "Teo Teo" <teo_e2@hotmail.com> 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<teo_e2@hotmail.com> escreveu:Oi pessoal! Estou desenvolvendo um software em plataforma Linux (debian 3.0r2 - versão2.4.18-bf2.4) que grava um conjunto de arquivos no HDD (totalizando cerca de200kbytes) 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 registrosmais 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",... eassim sucessivamente até chegar no diretório "reg2000", e então retorna parao 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 PCdá 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