La mémoire en informatique



Après des années à développer avec des langages interprétés, je suis revenu sur un langage compilé le Rust. Le problème (ou la chance) est que pour bien le comprendre, maîtriser certains concepts bas niveau s'avère nécessaire. Je me suis replongé dans la gestion de la mémoire.

Commençons par des vidéos expliquant les deux types de gestion de la mémoire.

La Stack

Ces vidéos parlent de la même chose, mais avoir deux présentations différentes est toujours intéressant.

Le Heap

Surveiller

Il existe différentes manières pour avoir accès à la mémoire d'un processus :

  • via un logiciel chargeant le binaire : heaptrack et son compagnon heaptrack-gui
  • spécifiquement pour Rust, en ajoutant du code sans le source via le crate : peak_alloc
  • en utilisant un debugger, ici gdb : https://jvns.ca/blog/2021/05/17/how-to-look-at-the-stack-in-gdb/
  • Depuis la commande : sudo cat /proc/<proc_id>/maps (Plus détail dans le manuel man proc, chercher proc/pid/maps)