[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Teste de Stress em Gravação de Dados no HD



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ã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





Reply to: