Skip to content
Connecter les besoins aux solutions

***Houston nous avons une fuite… en mémoire

Tags: , ,

Les fuites de mémoires… le cauchemar des programmeurs. Je ne connais pas un langage de programmation qui, sous une forme ou une autre, ne connaît pas ce problème. Eh bien, Ruby et Ruby on Rails ne font pas exception. Je suis à diagnostiquer un problème de fuite de mémoire en ce moment sur un projet Ruby on Rails.
Ma première réaction fut la panique (enfin presque)… considérant les outils disponibles pour Visual Basic, C++ ou en Java je m’attendais au pire; acheter un produit ou encore ajouter du code pour établir où la fuite se situe. Mes recherches m’ont conduit sur le blogue de Scott Laird où il présente le code nécessaire pour effectuer un profilage mémoire en Ruby.
Là je suis resté surpris. Le langage lui-même présente toute la fonctionnalité pour diagnostiquer ce genre de problème et ce grâce à la Class ObjectSpace et la méthode employé par Scott reste très simple. Dans son blogue, Scott mentionne son désir de faire de ce bout de code un plugiciel pour Rails.
Ne l’ayant trouvé nul part, j’ai donc ouvert un projet sur tigris.org pour partager la version plugiciel de l’outil de profilage mémoire. Bon, j’retourne à mon problème.
L’outil m’a déjà permit d’isoler la portion du code à la source de la fuite de mémoire… je n’ai plus qu’à la colmater.