Por que um arquivo de texto de 200 MB sobrecarrega 4gB de RAM

3

Eu escrevi um programa simples em c ++ que faz alguns cálculos, gera um número para um arquivo de texto e se repete. Vários milhões de vezes. O arquivo de texto final tinha cerca de 215 megabytes, mas quando o abri, o gedit levou mais de 5 minutos para abri-lo e passei meus 4 Gb de ram para a troca de linux. Por que isso acontece quando o tamanho do arquivo original é de apenas 200 MB?

um sanduíche
fonte
3
gedité aquele que consome grandes quantidades de memória, não o seu próprio programa, certo?
Dre
Corrigir. O programa, quando executado, ocupava menos de 20 Mb, mas lentamente subia cerca de 0,1 Mb a cada minuto.
um sandwhich
Execute o gedit a partir do valgrind. Isso informará se há vazamentos de memória na sua versão do gedit. No meu sistema (Ubuntu 12.04.4), este é o caso. Então, eu tenho que sair de todas as instâncias do gedit de tempos em tempos para liberar toda a memória.
Dohn Joe

Respostas:

4

Pesquisando no Google, geditparece lidar muito mal com arquivos grandes

Eu tentaria abrir os arquivos em algo como less

vimpor padrão, não se comporta tão bem quanto eu pensava em arquivos grandes; se você quiser usá- vimlo, use algo como http://www.vim.org/scripts/script.php?script_id=1506

Dre
fonte
Bem, eu apenas tentei abrir o arquivo no gvim, e o uso de memória RAM aumentou apenas cerca de 230 MB. É engraçado, abri um programa escrito em ca há um tempo atrás com cerca de 100 mb, mas o gedit não reagiu tão severamente. Obrigado.
um sandwhich
E para responder a outra parte da sua pergunta, eu realmente não sei por que o gedit usa tanta memória - pode ser em parte devido a uma programação ruim ou a um bug. Não vejo nenhuma razão para isso. Se você quiser a maneira intensiva de memória menos para ver um arquivo enorme, acho que lessé o único caminho a percorrer, a partir de minha escavação (você não pode editar -lo nesse caso, embora)
Dre
+1 por menos! Uma vez eu tive que abrir um arquivo GiB 37,1 e apenas menos funcionou!
precisa saber é o seguinte
Se a edição de texto na linha de comando lhe der arrepios, considere Geany . É o editor que trabalhou nos meus testes com arquivos> 1 GiB. Muito leve.
Marc.2377