아래 runq 명령어로 프로세스가 runqueue에 큐잉된 타입을 알 수 있는데요.
crash64> runq -t
CPU 0: 27382901302089
00000000000000 PID: 585 TASK: ffffffc071eb8b80 COMMAND: "android.hardwar"
CPU 1: 27382901206517
00000000000000 PID: 726 TASK: ffffffc0f6e3f300 COMMAND: "DispSync"
CPU 2: 27382900987194
00000000000000 PID: 18654 TASK: ffffffc089b82280 COMMAND: "pompeii_dm_router"
CPU 3: 27382901150527
00000000000000 PID: 16266 TASK: ffffffc089b85c00 COMMAND: "iptables"
아래 awk 명령어를 활용하면 각 CPU가 실행된 시간을 줄세워서 출력해요.
무엇보다 중요한 점은 얼마만큼 시간 차이가 있는지 출력하죠.
crash64> runq -t | grep CPU | sort -k3r | awk 'NR==1{now=strtonum("0x"$3)}1{printf"%st%7.9fs time diffn", $0,(now-strtonum("0x"$3))/1000000000}'
CPU 0: 27382901302089 0.000000000s time diff
CPU 1: 27382901206517 0.001031024s time diff
CPU 3: 27382901150527 0.001776480s time diff
CPU 2: 27382900987194 0.009940724s time diff
'[Debugging] Tips' 카테고리의 다른 글
crash-utility(crash tool) - ps command (0) | 2023.05.04 |
---|---|
crash-utility(crashtool) - 리다이렉션 커맨드 (0) | 2023.05.04 |
[crash-utility] wakelock 디버깅(rbtree: wakelocks_tree) (0) | 2023.05.04 |
[Best][Kernel][Stability] 스택 오염(Stack Corruption) 디버깅 (0) | 2023.05.04 |
[Kernel] wakelock debug patch (0) | 2023.05.04 |