J'ai besoin de mesurer l'utilisation du processeur des threads individuels sur Darwin. Sur Linux j'utilise getrusage (RUSAGE_THREAD, ...) mais ce n'est pas disponible sur darwin.Équivalent à RUSAGE_THREAD darwin?
1
A
Répondre
3
Le drapeau RUSAGE_THREAD de getrusage est spécifique à Linux. Getrusage de xnu ne sort que la somme par processus.
Les informations sur les temps d'utilisation de chaque thread sont conservées dans task_basic_info
struct de chaque thread.
La documentation est ici http://www.gnu.org/software/hurd/gnumach-doc/Task-Information.html
Voici un exemple simple de la façon d'obtenir task_basic_info
struct http://blog.kuriositaet.de/?p=257
task_info(mach_task_self(), TASK_BASIC_INFO, (task_info_t)&t_info, &t_info_count)
Questions connexes
- 1. SIGPROF sur darwin
- 2. BSD/Darwin cpu stats
- 3. Utilisation du noyau Darwin personnalisé
- 4. Darwin Streaming Server - Débit adaptatif?
- 5. ffmpeg fichier SDP pour Darwin Streaming Server
- 6. Y a-t-il vraiment pas de plan à Darwin?
- 7. Déterminer processus à Darwin Information Programmatically/Mac OS X
- 8. serveur ffmpeg vs serveur de flux darwin
- 9. Boost sur darwin statiquement, y compris libstdC++?
- 10. Comportement étrange d'uniq sur les shells darwin
- 11. Problèmes avec les vidéos en streaming Darwin Streaming Server
- 12. QT équivalent à JSplitPane
- 13. SQLite3 équivalent à mysql_num_rows
- 14. WPF équivalent à ActiveControl?
- 15. GTK + équivalent à QDockWdiget
- 16. Java "équivalent" à CSLA
- 17. équivalent PHP à fb.getloginstatus
- 18. Firemonkey équivalent à ActionList?
- 19. Équivalent à JDIC?
- 20. Java équivalent à pyftpdlib?
- 21. C# équivalent à shell_exec
- 22. xsd équivalent à DtD
- 23. Erlang équivalent à sinon
- 24. rapide: équivalent à respondToSelector
- 25. Java équivalent à WPF
- 26. MSVC équivalent à '__builtin_return_address'
- 27. Tissu équivalent à Haskell?
- 28. mysql_query équivalent à mongoDB
- 29. WPF équivalent à Bitmap.LockBits
- 30. JBoss équivalent à HTTPModule
Merci. Ça semble fonctionner. – melisgl
lorsque j'ai essayé, les champs user_time et system_time étaient tous les deux 0 dans la structure task_basic_info. Cependant, cela fonctionnerait si je demandais la structure task_thread_times_info à la place (TASK_THREAD_TIMES_INFO). La documentation mentionne que les compteurs sont respectivement pour les threads terminés et les threads actifs. – Arvid