J'ai une application multi-thread (bibliothèque C++ et pthread) et j'aimerai savoir combien de ressources (CPU et mémoire)) chaque thread utilise. Existe-t-il un moyen de connaître ces détails sous Solaris et Linux, ou sur l'un d'entre eux?Trouver l'utilisation des ressources (CPU et mémoire) par les threads d'un processus dans unix (solaris/linux)
Répondre
Vous pouvez utiliser la commande ps avec certaines options:
ps -eLo pid,ppid,lwp,nlwp,osz,rss,ruser,pcpu,stime,etime,args | more PID PPID LWP NLWP SZ RSS RUSER %CPU STIME ELAPSED COMMAND 0 0 1 1 0 0 root 0.0 Oct_02 4-02:13:37 sched 1 0 1 1 298 528 root 0.0 Oct_02 4-02:13:36 /sbin/init 2 0 1 1 0 0 root 0.0 Oct_02 4-02:13:36 pageout
Jetez un oeil à la page de l'homme ps pour obtenir des informations (LWP (processus de poids léger))
LWP est-il un thread? Je veux dire en termes Linux/Solaris. Puisque dans ce que vous avez collé ici, PPID est 0, je suppose que c'est un processus et non un fil. Ai-je raison? – mkamthan
Oui. LWP est un fil. http://www.theeggeadventure.com/wikimedia/index.php/What_is_NLWP_on_Solaris%3F – brianegge
Autant que je peux dire - le drapeau de pcpu donne l'utilisation de processeur pour le processus, pas pour le LWP. – jasonk
- 1. CPU utilisée par les processus fils générés par ruby
- 2. Comment puis-je limiter l'utilisation des ressources du processus?
- 3. unix processus infini
- 4. Comment les entiers des compilateurs sont-ils mis en mémoire et traités dans la CPU?
- 5. MapViewOfFile avec des pointeurs entre les threads
- 6. processus réseau unix
- 7. processus système sous Unix
- 8. Suivi de la mémoire des threads et de la consommation du processeur
- 9. Quelle est l'indépendance des threads dans le même processus?
- 10. Mémoire partagée sous Windows accessible en lecture et en écriture par des processus distincts
- 11. Charge CPU du processus en cours
- 12. Comment connaître l'état du processus enfant et l'utilisation des ressources sur Windows?
- 13. comment libérer des ressources d'un processus
- 14. Est-ce que removeChildAt() efface les ressources cpu?
- 15. Où trouver des ressources sur le refactoring?
- 16. des ressources aux processus IIS et les applications standard de Windows
- 17. Programmation de bas niveau: Comment trouver des données dans une mémoire d'un autre processus en cours?
- 18. Où puis-je trouver des ressources améliorées par vim?
- 19. Gestion de la mémoire DOM et de la CPU
- 20. Liste tous les processus et leur mémoire actuelle et la consommation du processeur?
- 21. Différence entre les opérations et les threads dans Cocoa
- 22. Taille du processus sous UNIX
- 23. Énumération des threads dans Windows
- 24. parallèle Linq - Utiliser plus de threads que les processeurs (pour les tâches liées non CPU)
- 25. IIS7: Afficher les ressources utilisées par un site Web spécifique
- 26. Gestion des paramètres dans les threads
- 27. Erreurs IIS6: 503 et pointes de CPU
- 28. Planification des threads Swingworker
- 29. Réduire l'empreinte mémoire des rails Mongrel et augmenter les performances?
- 30. Méthodes statiques et sécurité des threads
Pour linux il y a une copie exacte (http://stackoverflow.com/questions/1431569/tracking-threads-memory-and-cpu-consumption). –
J'ai vérifié cela avant. Ma question était aussi pour Solaris. Vous n'avez encore rien trouvé. La seule chose que je peux conclure maintenant est que parler de la consommation de mémoire par thread n'est pas une bonne idée car ils partagent le même espace mémoire. Peut être que nous pouvons seulement calculer quelle mémoire a été allouée ou désallouée par un fil (Comment faire ceci ??). – mkamthan