La mémoire en informatique
≤ 1 min
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 manuelman proc
, chercherproc/pid/maps
)