A la recherche de la mémoire perdue : la mémoire, un gruyère ?

Abonnements, magazines... Notre catalogue complet au bas de cette page.

Dans une application de calculs de risque chez un client, de nombreux crashs aléatoires survenaient. Le symptôme visible était la mémoire d’un processus qui augmentait de manière régulière jusqu’à 3Go, et là, le processus crashait. Cette application était multiprocessus répartis sur un cluster de 2 à 7 machines : chaque machine exécutant 1,5 fois plus de processus que de nombre de coeurs (une machine de 16 coeurs logiques exécutait donc 24 processus) et chaque processus travaillant avec de 4 à 30 threads. Du fait de l’architecture, plusieurs traders accédaient simultanément aux machines pour exécuter des simulations ce qui faisait que nous n’arrivions pas à reproduire le problème sur les environnements de développement ; d’autant plus que les traders, jaloux de leurs idées, ne nous disait pas vraiment quelles données ils avaient fournies au cluster : on avait au mieux un à peu près. Nous n’avions alors que les fichiers de logs et notre expérience pour comprendre les causes du problème… 

S'ABONNER
Egalement au sommaire de :
Programmez! #235