FreeBSD : pourquoi la RAM semble saturée
Original : FreeBSD ate my RAM
Pourquoi c'est important
Comprendre la gestion mémoire des OS est essentiel pour bien interpréter les outils de supervision système.
Bruno Croci publie le 2 juillet 2026 une analyse détaillée sur la gestion de la RAM sous FreeBSD. Après une migration de serveur d'Ubuntu vers FreeBSD, il constate des écarts de mesure entre fastfetch et btop, et plonge dans les internals du système de mémoire virtuelle pour comprendre.
Lors d'une migration de son serveur vers FreeBSD, Bruno Croci remarque que la RAM affichée comme utilisée par fastfetch ne correspond pas aux valeurs de btop. Inspiré par le célèbre article « Linux ate my RAM », il enquête sur le fonctionnement de la mémoire sous FreeBSD.
La réponse courte : le système d'exploitation met en cache les données disque dans la RAM pour améliorer les performances. Ce cache est volatile et libéré dès que d'autres processus en ont besoin.
Plus en détail, les OS modernes utilisent un système de mémoire virtuelle (VM) qui divise la mémoire physique en pages de 4 Kio, chacune affectée à une file d'attente. Sous FreeBSD, ces files sont : `PQ_INACTIVE`, `PQ_ACTIVE`, `PQ_LAUNDRY`, `PQ_UNSWAPPABLE` et `PQ_NONE`. L'outil `top` les expose toutes : les pages « active » sont utilisées par les processus, les « inactive » n'ont pas été accédées récemment, les « laundry » sont en attente d'écriture en swap, et les « wired » correspondent au noyau lui-même. Ainsi, de la RAM apparemment « utilisée » est en réalité du cache libérable à la demande, ce qui explique les écarts entre outils de monitoring.