7 points par ffdd270 2020-07-24 | 4 commentaires | Partager sur WhatsApp

Cet article se limite à Ruby sur Linux.

Même si vous ne connaissez pas Ruby, c’est un texte qui mérite d’être lu : il explique de façon claire comment la mémoire est gérée au niveau de l’OS et de l’interpréteur, comment la pagination et les pools de pages sont utilisés, ainsi que la fragmentation mémoire.

Il semble aussi y avoir beaucoup à apprendre de la manière de traquer les fuites mémoire.

4 commentaires

 
ffdd270 2020-07-24

Mais bon, on parle de glibc, alors qu’en réalité cela semble pouvoir affecter tous les programmes Linux utilisant la bibliothèque C standard dès lors qu’il s’agit de projets multithread ; hum ;

 
novemberoscar 2020-07-24

Python ayant lui aussi le même problème dans la mesure où il dépend de glibc, il existe aussi des méthodes pour réduire la fragmentation mémoire en utilisant Jemalloc à la place de l’allocateur par défaut.

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

 
novemberoscar 2020-07-24

Au passage, cette phrase est vraiment marquante...

there are no tools that allow me to do that. -- So I wrote an OS heap visualizer myself.

 
ffdd270 2020-07-24

Il n’y avait pas d’outil -> alors je l’ai créé.

Je trouve que c’est une très belle attitude de programmeur.