"perf Trace -p" 실행 여부`모든 스레드를 추적하시겠습니까?

"perf Trace -p" 실행 여부`모든 스레드를 추적하시겠습니까?

strace -f -p <PID>다중 스레드 프로세스의 모든 스레드에서 시스템 호출을 추적합니다. (이 역시 포크를 따르며, -b execve이 문제를 해결하려는 옵션이 있습니다 ).

perf trace -p <PID>프로세스의 모든 스레드가 추적 됩니까 ? 그것것 같다마찬가지로 --tid옵션도 있기 때문입니다.

gnome-shell시스템의 모든 PID를 추적한 것 같습니다 . 하지만 동시에 나는 달렸다 perf trace -a. 필터링된 두 개의 추적을 사용했습니다 -e fsync. 전역 추적은 gnome-shellfsync를 호출한 작업을 보여줍니다. 그러나 PID 특정 추적은 그렇지 않습니다.

전역 추적에서 작업은 gnome-shell/9822또는 로 식별됩니다 pool/9822. 호출의 호출 스택 fsync(내가 사용한 것 --call-graph=dwarf)은 매우 스레드처럼 보입니다. 맨 아래에 있는 두 항목은 __GI___clone및 입니다 start_thread (/usr/lib64/libpthread-2.27.so). 의 현재 출력에서 ​​스레드를 찾을 수 없습니다 ps -eLF. 이것과 이름을 보면 pool임시 작업자 스레드인 것으로 의심됩니다. perf trace -p <PID>새로 생성된 스레드를 팔로우하지 않는 것이 아닐까요 ?

버전: perf-4.19.3-200.fc28.x86_64

관련 정보