est-il possible de connaître la quantité de mémoire utilisée par un thread phtread donné? Je suis intéressé par un VmRSS comme information.Comment savoir une utilisation de la mémoire de thread?
Répondre
Chaque thread consomme une pile de taille fixe créée au démarrage du thread. Il est généralement de 512 K/1M mais c'est seulement la taille virtuelle au démarrage. Toutefois, pour les données allouées dynamiquement (malloc), il s'agit d'une information à l'échelle du processus, pas par thread. Notez que certaines implémentations de malloc alternatives (comme tcmalloc) pourraient fournir des statistiques plus avancées.
En outre, le système d'exploitation lui-même peut libérer de la mémoire dans un thread séparé, pour accélérer les appels à la fonction free(), ce qui rend la collecte des statistiques correctes encore plus compilcated
De ma propre expérience en utilisant la bibliothèque pthread, si un thread est créé avec des attributs par défaut, sa taille de pile est de 10 Mo. Cela peut être spécifique à la plate-forme.
Si vous souhaitez réduire la taille de la pile, vous pouvez utiliser pthread_attr_setstacksize(). Afin d'estimer une valeur correcte pour la taille de la pile, vous pouvez utiliser un script appelé "checkstack.pl". Il est livré dans les sources du noyau Linux (sous le répertoire "scripts").
Voir aussi http://www.kegel.com/stackcheck
- 1. Utilisation de la mémoire
- 2. Allocation de mémoire par thread
- 3. Utilisation de la mémoire + .net
- 4. Utilisation de la mémoire SQL
- 5. Utilisation de la mémoire IronPython
- 6. Utilisation de la mémoire de JBoss?
- 7. Utilisation de la mémoire dans la R
- 8. Utilisation de la mémoire sur une machine RHEL 32 bits
- 9. Comet, responseText et utilisation de la mémoire
- 10. C#: utilisation de la mémoire d'un objet
- 11. Utilisation de la mémoire Visual Studio 2005
- 12. Utilisation de la mémoire VS. Utilisation du processeur dans l'iphone
- 13. consommation de mémoire de niveau de thread de processus
- 14. Cette utilisation de NSMutableString est-elle une fuite de mémoire?
- 15. Motif d'état dans les applications iPhone (utilisation de la mémoire)
- 16. Portillon, pile de pages et utilisation de la mémoire
- 17. Utilisation de la mémoire de l'application C++/Qt
- 18. Utilisation de la mémoire Windows et du fichier de pages
- 19. Utilisation limitée de la mémoire de sql server 2008 express?
- 20. Utilisation de la mémoire du processus en cours dans C
- 21. C#: objets simples et complexes et utilisation de la mémoire
- 22. Utilisation efficace de la bande passante mémoire pour le streaming
- 23. Mise en cache Asp.net et utilisation de la mémoire W3P
- 24. Comment pouvez-vous savoir si une page de mémoire est marquée en lecture seule?
- 25. Mémoire spécifique au thread avec fonctions linguistiques
- 26. Comment contrôler l'utilisation de la mémoire avec le pool de threads de la bibliothèque Omni Thread Library?
- 27. Comment réduire l'utilisation de la mémoire de Netbeans?
- 28. C++ Allocation dynamique de la mémoire
- 29. Comment faire pour exécuter un exécutable avec la limite de temps et d'utilisation de la mémoire?
- 30. Comment libérer de la mémoire à partir de std :: deque?
Merci. Est-il possible de connaître la quantité de mémoire utilisée dans la pile? –
Utilisez stackavail() s'il est supporté par votre compilateur – dmityugov