[SP-pm] Tempo (grande!) de liberação de memoria no perl
Solli Honorio
shonorio at gmail.com
Tue Sep 28 13:55:43 PDT 2010
Renato,
O teu email está realmente confuso e assim fica difícil encontrar ajuda.
Pode ser apenas eu, mas eu não entendi qual é o teu problema.
Eu não entendi como você carrega dos dados ! Você faz um 'selec * from table
where campo=inicia_com_letra_x' e coloca todo o resultado em memória ? O que
significa aquele log no final do arquivo ? O que significa a tabela no
inicio ?
Você consegue ser mais claro e detalho no teu problema ?
Solli M. Honório
Em 28 de setembro de 2010 17:11, Renato Santos <renato.cron em gmail.com>escreveu:
> id_file | id_layout | md5sum
> | file_name
> |
> time_start | time_end | validated | file_path | file_size |
> created_at | created_by | updated_at | updated_by | loaded |
> rows_ok
> | rows_ignored | clean | imported | imported_rows
> |
> imported_status | idorigem | reutilizar
> | query
>
> ---------+-----------+----------------------------------+--------------------------------------------------------------------------+------------+----------+-----------+-----------+-----------+----------------------------+------------+------------+------------+--------+---------+--------------+-------+----------+---------------+----------------------------------------------------------------------------------------+----------+------------+-------
> 3 | | changeme_too |
> /dados/work/OUT_PS_20100813_3.txt.conv.utf8
> | | | t | | | 2010-08-19
> 11:27:06.808689 | 1 | | | t |
> | | t | f | | cadastros:1106160,
> emails:839833, enderecos:1063774, telefones:681226, updates:34815 |
> 2 | t | f
>
> : Registros lidos: 1211132
> 4 | | 7e42935177faec642955fe13b17a8291 |
> /dados/work/OUT_F5_20100814_1.txt.conv.utf8
> | | | t | | | 2010-08-20
> 11:03:36.228324 | 1 | | | t |
> | | t | f | | cadastros:754023,
> emails:919402, enderecos:587103, telefones:669483, updates:55941
> | 3 | t | f
>
> : Registros lidos: 1379811
> 5 | | f49957319ac7b1c0839d1f7d19ce8ab2 |
> /dados/work/OUT_F5_20100814_2.txt.conv.utf8
> | | | t | | | 2010-08-20
> 14:46:31.645924 | 1 | | | t |
> | | t | f | | cadastros:569141,
> emails:840611, enderecos:540197, telefones:749958, updates:40869
> | 3 | t | f
>
> : Registros lidos: 1351801
> 6 | | e4584ab99210780c0e846a28499692df |
> /dados/work/OUT_PV_20100821.txt.conv.utf8
> | | | t | | | 2010-08-23
> 15:55:18.155197 | 1 | | | t |
> | | t | f | | cadastros:236929,
> emails:172333, enderecos:292073, telefones:316859, updates:661549
> | 1 | t | f
>
> : Registros lidos: 965113
> 8 | | f10cd34b302735c3265dc3479e405688 |
> /dados/work/OUT_ERROS_F5_20100829.txt.conv.utf8
> | | | t | | | 2010-08-30
> 10:19:46.501998 | 1 | | | t |
> | | t | f | | cadastros:59,
> emails:78,
> enderecos:46, telefones:50, updates:1 | 3 |
> t | f
>
> : Registros lidos: 98
> 9 | | f28e5d8f4eeadf1ddcdbf33ecb06036f |
> /dados/work/OUT_ERROS_PS_20100829.txt.conv.utf8
> | | | t | | | 2010-08-30
> 10:21:10.03357 | 1 | | | t |
> | | t | f | | cadastros:9, emails:9,
> enderecos:0, telefones:0, updates:0 | 2
> |
> t | f
>
> : Registros lidos: 10
> 10 | | ade079c2690f73fc19a7c4b991c214d5 |
> /dados/postgres/work_renato/OUT_REVISTA_FALTANTES_20100903.TXT.conv.utf8
> | | | t | | | 2010-09-03
> 16:14:10.868327 | 1 | | | t |
> | | t | f | | cadastros:1486,
> emails:1816, enderecos:1789, telefones:1325, updates:1208
> | 1 | t | f
>
> : Registros lidos: 2977
> 7 | | 07d84cfe2ef7742d8b6611ef38cef9eb |
> /dados/work/OUT_REVISTA_20100829.txt.conv.utf8
> | | | t | | | 2010-08-30
> 10:05:45.124084 | 1 | | | t |
> | | t | f | | cadastros:0, emails:0,
> enderecos:0, telefones:0, updates:211503 | 1
> |
> t | f
>
> : Registros lidos: 256194
> 1 | | 6fa7b50c205882ce8f03e7b6813ad713 |
> /dados/work/OUT_PS_20100813_1.txt.conv.utf8
> | | | t | | | 2010-08-19
> 10:42:46.460073 | 1 | | | t |
> | | t | f | | cadastros:1758010,
> emails:326527, enderecos:1137104, telefones:1328614, updates:7312 |
> 2 | t | f
>
> : Registros lidos: 1799958
> 2 | | changeme |
> /dados/work/OUT_PS_20100813_2.txt.conv.utf8
> | | | t | | | 2010-08-19
> 11:26:31.105302 | 1 | | | t |
> | | t | f | | cadastros:1666106,
> emails:1071933, enderecos:1552752, telefones:1141629, updates:41893 |
> 2 | t | f
>
> : Registros lidos: 1783627
>
>
> gbb
>
> idvian
>
>
>
> Tempo (grande!) de liberação de memoria no perl
>
> Pessoal,
>
> Tinha um processo aqui (deduplicação de registros do banco) que rodava com
> alguns milhores de registros,
> ai acabava acabando a RAM (4 GB, e chora, não vão por mais...),
> O processo fazia mais ou menos assim:
>
> Carrega do banco todos as pessoas com a letra A
> Sobe em RAM
> Loop num outro select nos registros com a lenta A
> compara com o com a RAM
> "Libera da ram" (undef nas variaveis...)
>
> E assim por diante até o Z
>
>
> Então, eu resolvi alterar, pois depois do primeiro processamento, a maquina
> ja estava sem RAM.
> Sei que a RAM não é liberada, mas fica 'reservada' para o proprio perl. Mas
> por segunraca, fiz um processamento ficar assim:
>
> Perl contralador:
> --> perl filho fazendo processamento da letra A (sobe na ram, processa,
> cospe a saida)
> perl pai lê a saida e pega algumas variaveis e continua...
>
>
> O processo esta funcionando (em desenv, rs!)
>
> Mas agora, rodando com os dados Full num banco de homologação na maquina de
> producao (rs!)
> O processo rodou normalmente até a letra B por exemplo (na verdade é de 0 a
> 15 hexadecimal) e até a "letra" 4 não há um grande volume.
>
> O perl rodou, eu deu lida no log, e aconteceu isso:
>
> 2010-09-28 11:36:43 - Iniciando aplicacao [Importador Dedup v 1.0]...
> 2010-09-28 11:36:43 - Lendo arquivo de configuracao:
> conf/importador.pl.conf
> 2010-09-28 11:36:43 - Conectando-se no banco de dados
> nestle_teste_dedup_novo em yamaha
> 2010-09-28 11:36:43 - Carregando id_file 1...
> 2010-09-28 11:36:43 - START: executaQuery.. letras: 4
> 2010-09-28 11:42:49 - END: executaQuery..
> 2010-09-28 11:42:49 - START: Loop DBM..
> 2010-09-28 11:42:49 - 10000
> 2010-09-28 11:42:50 - 20000
> ...
> 2010-09-28 11:55:38 - 2870000
> 2010-09-28 11:55:52 - END: Loop DBM (READ = 2873193)..782.77837896347
> segundos...
> 2010-09-28 11:57:54 - LoadDatabase: 1271 wallclock secs (235.19 usr + 19.15
> sys = 254.34 CPU)
> 2010-09-28 11:57:54 - Criando arquivo ./tmp//cadastros_insert.22493.copy...
> 2010-09-28 11:57:54 - Criando arquivo ./tmp//enderecos_insert.22493.copy...
> 2010-09-28 11:57:54 - Criando arquivo ./tmp//cadastros_updated.22493.copy..
>
--
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100928/a5c79cc3/attachment.html>
More information about the SaoPaulo-pm
mailing list