J'automatise certaines tâches de profilage et je veux enregistrer en temps réel l'espace mémoire et les tailles de génération. Le profiling API semble terriblement compliqué pour ce dont j'ai besoin, et il semble écouter les allocations individuelles et les collections, ce qui n'est pas très important pour moi. Les outils de profilage sont une aide précieuse bien sûr, mais je cherchais une interface plus flexible et programmable.Existe-t-il un moyen de récupérer l'utilisation actuelle de la mémoire d'une application C#?
Répondre
Le terme «utilisation actuelle de la mémoire» est un peu défini vaguement. Voulez-vous dire l'ensemble de travail? Quoi que cela signifie, vous pouvez utiliser différentes propriétés telles que VirtualMemorySize
, WorkingSet
, PrivateMemorySize
, etc. de la classe de processus pour le récupérer.
long workingSet = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
Il existe des compteurs de performance pour beaucoup de ces choses et si vous ne pouvez pas utiliser Perfmon, vous pouvez accéder aux compteurs via l'API Diagnostics.
Une fois que je devais trouver une fuite de mémoire dans un code existant, je suis tombé sur cette solution: Start « tasklist » avec les paramètres appropriés comme un processus et lire la sortie soit du flux ou de fichier.
par exemple.
tasklist /fi "IMAGENAME eq notepad++.exe" /FO CSV /NH
sortie est:
"notepad++.exe","7132","Console","1","21.004 K"
Non pas élégant, mais fonctionne dans toutes les langues de programmation sous Windows sans autres dépendances (C++/Qt dans mon cas).
- 1. Un moyen facile d'imprimer la trace de la pile actuelle d'une application?
- 2. Récupérer dynamiquement le nom de la méthode actuelle
- 3. requête Mysql: récupérer la date actuelle requête
- 4. Récupérer par programme l'utilisation de la mémoire sur l'iPhone
- 5. Qu'est-ce qu'un moyen facile d'obtenir la révision svn actuelle dans une application de studio visuel C++
- 6. C#: utilisation de la mémoire d'un objet
- 7. Obtention du nom de la méthode actuelle en C++
- 8. Récupère la zone de sécurité active/actuelle d'une application .NET?
- 9. Console C# Application résidant en mémoire après la sortie
- 10. Problème de mémoire C/C++?
- 11. C++: Recherche dans la mémoire de process
- 12. Calcul de la valeur actuelle
- 13. struct c allouer dynamiquement de la mémoire
- 14. profilage de la mémoire en C#
- 15. Gestion de la mémoire Setter Objective-C
- 16. C gestion de la mémoire question débutant
- 17. C++ Allocation dynamique de la mémoire
- 18. Existe-t-il un moyen de voir toutes les variables dans la portée actuelle?
- 19. Comment accéder à l'action "MVC" de la demande actuelle?
- 20. Utilisation de la mémoire de l'application C++/Qt
- 21. Demande de mémoire pour votre application
- 22. Meilleure méthode pour obtenir la configuration de la mémoire actuelle dans VBA
- 23. Existe-t-il un moyen d'augmenter la mémoire virtuelle dans une application démarrée à partir de NetBeans?
- 24. Quel est le meilleur moyen de récupérer la clé de retour dans un PasswordBox? (WPF/XAML)
- 25. Objectif C Confusion de la gestion de la mémoire
- 26. Soll d'utilisation de la mémoire de l'application C# à l'exécution?
- 27. Déclaration de déclarations de mémoire dynamique C++
- 28. Fuite de mémoire en utilisant JNI pour récupérer la valeur de la chaîne du code Java
- 29. Définition des paramètres de mémoire C#
- 30. Quel est le meilleur moyen de libérer de la mémoire après un retour d'erreur?