W języku C, Linux 3.2: Czy istnieje sposób programowego gromadzenia statystyk na temat stanu każdego utworzonego wątku pthread
w niektórych programach? Na przykład chciałbym uzyskać czas, w którym każdy wątek spędził bieg, oraz w stanie bezczynności.pthreads: programowo zbierać informacje o czasie spędzonym na różnych stanach?
6
A
Odpowiedz
1
clock_gettime()
może zwracać czas procesora specyficzny dla wątku. Po prostu:
struct timespec ts;
clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);
Ale z mojego zrozumienia jest to suma czasu użytkownika i systemu tego wątku. Powinieneś także wziąć pod uwagę komunikat ostrzegawczy dotyczący systemów SMP na końcu strony podręcznika.
Ponadto, jeśli nie chcesz informacji o taktowaniu na bieżącym wątku, ale na niektórych pthread, możesz uzyskać clockid_t
do użycia z clock_gettime()
przy użyciu int pthread_getcpuclockid(pthread_t thread, clockid_t *clock_id)
.
1
EDIT: Aby uzyskać czas bezczynności, chciałbym odejmować systemu i czas użytkownika od chwili całkowitego nić była aktywna.
Inne narzędzia, których można użyć do sondowania, to: system system, swtrace, tprof, oprofile, perf, sysprof, ptt, itp.
Powiązane problemy
- 1. Wiarygodne informacje o różnych przeglądarkach na ContentEditable
- 2. uzyskać informacje o adnotacji w czasie wykonywania
- 3. Jak przedstawiać datę i/lub informacje o czasie w JSON?
- 4. Erlang VM: informacje o czasie pracy programu planującego
- 5. Jak programowo uzyskać informacje o oddziałach w systemie TFS?
- 6. jak zbierać informacje o systemie w osxie przy użyciu celu c
- 7. Jak programowo uzyskać informacje o certyfikacie wypłat APNS?
- 8. Informacje o wyjątku: System.Reflection.TargetInvocationException
- 9. Zmiana „Wydawca” Informacje o „.exe” pliku
- 10. Informacje o oddziałach OCaml
- 11. Uzyskaj informacje o automatycznym obrocie na Androidzie
- 12. Informacje o kontekstach Sharepoint na stronie HTML
- 13. Równoważnik SetThreadPriority na Linuksie (pthreads)
- 14. Informacje o procesie NODEJS
- 15. Haskell odpowiednik Scala zbierać
- 16. Sprawdzanie w wielu stanach w Railsach
- 17. Jak programowo uzyskać informacje na temat wyboru czcionki w Mathematica
- 18. Informacje o trybie androidowym "singleTask"
- 19. informacje o identyfikatorze procesu log4net
- 20. Informacje o urządzeniu z Androidem
- 21. Otrzymuj bieżące informacje o lokalizacji
- 22. Noś informacje o poprzednich obliczeniach
- 23. Docker i poufne informacje używane w czasie wykonywania
- 24. QThreads Vs Pthreads
- 25. Drupal uzyskać informacje o module?
- 26. Jak sortować informacje o wersji
- 27. AssemblyInfo informacje o wersji gwiazdkami
- 28. km0ae9gr6m Informacje o wtrysku js
- 29. Informacje o rozszerzeniu pliku .MI?
- 30. maven build - informacje o wersji