J'ai un grand code Fortran/MPI qui, lors de l'exécution, utilise une très grande quantité de mémoire VIRT (~ 20G) bien que la mémoire utilisée (500 mb) soit assez modeste.Grande mémoire VIRT en Fortran
Comment puis-je profiler le code pour comprendre quelle partie produit cette énorme mémoire VIRT? À ce stade, je suis même heureux d'utiliser une approche de force brute. Ce que j'ai essayé est de mettre des instructions de sommeil dans le code et enregistré l'utilisation de la mémoire à travers "top" pour essayer de localiser par bissection où la grande allocation sont. Toutefois, cela ne fonctionne pas car l'appel de mise en veille met l'utilisation de la mémoire à 0. Existe-t-il un moyen de geler le code tout en conservant l'utilisation actuelle de la mémoire? PS: J'ai essayé VALGRIND mais le code étant si grand, VALGRIND n'a jamais fini. Existe-t-il une alternative à VALGRIND qui soit "facile" à utiliser?
Merci,
Sam
Avez-vous essayé [ce] (https://stackoverflow.com/questions/22028571/track-memory-usage-in-fortran-90)? – A4L
Ça aide. Merci ! – sponce