7 pontos por ffdd270 2020-07-24 | 4 comentários | Compartilhar no WhatsApp

Este texto é limitado ao Ruby no Linux.

Mesmo que você não conheça Ruby, ainda vale a leitura: ele explica como a memória é gerenciada no nível do SO e do interpretador. Como paginação e pools de páginas são usados. E também traz explicações bem didáticas sobre fragmentação de memória.

Parece haver muito a aprender com a forma de rastrear vazamentos de memória.

4 comentários

 
ffdd270 2020-07-24

Mas, embora se fale em glibc, na prática parece que isso pode afetar todos os projetos multithread entre os programas Linux que usam a biblioteca C padrão ;m ;

 
novemberoscar 2020-07-24

Como o Python também depende do glibc, ele tem o mesmo problema, então também existe a opção de usar o Jemalloc em vez do alocador padrão para reduzir a fragmentação de memória.

http://egloos.zum.com/mcchae/v/11175458

 
novemberoscar 2020-07-24

Aliás, esta frase é extremamente marcante...

there are no tools that allow me to do that. -- Então eu mesmo escrevi um visualizador de heap do SO.

 
ffdd270 2020-07-24

Não havia ferramenta -> então eu criei uma.

Acho que essa é uma postura admirável de um programador.