J'essaie de trouver un moyen de déterminer au moment de l'exécution combien de mémoire utilise une classe donnée dans .NET. L'utilisation de Marshal.SizeOf()
est terminée, car elle ne fonctionne que sur les types de valeur. Existe-t-il un moyen de vérifier exactement combien de mémoire une classe utilise?Déterminez la quantité de mémoire utilisée par une classe?
Répondre
J'ai récemment commencé à étudier ce genre de chose, mais j'ai trouvé que les profileurs de mémoire peuvent donner des informations assez détaillées sur les instances d'objets dans votre application.
Voici un couple qui sont la peine d'essayer:
Je suis d'accord qu'une mémoire profileur est la meilleure façon d'obtenir les informations que vous recherchez. En plus des deux mentionnés précédemment, je recommande JetBrains dotTrace, qui est à la fois un profileur de performance et un profileur de mémoire. Si vous voulez le faire vous-même, et que vous voulez aller assez loin dans les tripes du CLR, vous pouvez utiliser le .NET Profiling API, qui est une API non managée (comme Microsoft dit): "permet à un profileur de surveiller l'exécution d'un programme par le Common Language Runtime (CLR). " Ce n'est pas exactement prévu pour une utilisation occasionnelle, mais il a une énorme quantité de fonctionnalités.
lien juste lié SO question:
- 1. Comment déterminer la quantité de mémoire principale utilisée par une application
- 2. Comment faire pour déterminer la quantité de mémoire utilisée par le code non managé
- 3. Découvrez la quantité de mémoire utilisée par un objet en Python
- 4. Déterminez le type d'application C# qu'une classe contenue dans une DLL est utilisée par
- 5. Quelle quantité de mémoire utilise une Hashtable?
- 6. Déterminez la taille de la mémoire physique par programme sous OSX
- 7. Comment savoir une utilisation de la mémoire de thread?
- 8. Comment déterminez-vous la quantité de RAM système Linux en C++?
- 9. Surveillance de la consommation de mémoire par différents objets Java
- 10. Mesure du temps d'exécution et de la mémoire utilisée
- 11. ligne de commande pour obtenir la mémoire utilisée par le processus
- 12. Obtenir la quantité d'octets lus par javax.xml.stream.XMLStreamReader
- 13. Allouer une classe fréquemment utilisée une seule fois?
- 14. Comment trouver la mémoire utilisée par un objet en PHP? (sizeof)
- 15. C#: utilisation de la mémoire d'un objet
- 16. Quelle quantité de mémoire chaque application utilise par défaut dans IIS 6.0?
- 17. Javascript: chargement quantité de données de la mémoire en fonction de la condition
- 18. Recherchez Crystal Reports dans Visual Studio et déterminez si la table/proc SQL est utilisée
- 19. Récupérer par programme l'utilisation de la mémoire sur l'iPhone
- 20. Comment libérer la mémoire qui a été utilisée pour une variable en C?
- 21. Allocation de mémoire par thread
- 22. Changer la version de GCC utilisée par bjam
- 23. Déterminez l'espace disque disponible autorisé par Sandbox sur l'iPhone
- 24. Utilisation de la mémoire Visual Studio 2005
- 25. Obtenir l'icône de fichier utilisée par Shell
- 26. Bon exemple de quantité ou de classe monétaire
- 27. Obtenir par programme la quantité de RAM installée sur OS X
- 28. Existe-t-il un moyen de connaître, par programmation, la quantité d'espace qu'un objet prend en mémoire? (.Net 2.0)
- 29. Comment puis-je déterminer la quantité de mémoire mon programme occupe actuellement
- 30. Valeurs par défaut de la mémoire JVM