저는 Linux 커널이 어떻게 작동하는지 연구하고 있으며 커널에서 일어나는 모든 일의 시간 규모에 관심이 있습니다.
물론 이것이 하드웨어에 따라 다르다는 것을 알고 있지만 예를 들어보고 싶습니다. 예를 들어,
- 인터럽트 서비스 루틴: ~1ms?
- 시스템 호출: ~10ms?
- Printf(출력 1 문자): 20ms? (전혀 확실하지 않음)
누군가 의견을 남기거나 위 정보가 포함된 웹사이트를 추천해 주시면 감사하겠습니다.
답변1
어쩌면 당신이 찾고 있는 것 같아요맨 위.
시간+열에는 프로세스의 CPU 사용 시간이 표시됩니다.
top - 13:33:24 up 2 days, 21:28, 7 users, load average: 0.27, 0.95, 0.92
Tasks: 733 total, 19 running, 691 sleeping, 0 stopped, 23 zombie
%Cpu(s): 18.4 us, 24.5 sy, 57.1 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 16287248 total, 15047664 used, 1239584 free, 144600 buffers
KiB Swap: 37457960 total, 6876096 used, 30581864 free, 5184516 cached
PID USER PR NI S %CPU %MEM TIME+ COMMAND
1 root 20 0 S 0.0 0.0 1037:17 init
2 root 20 0 S 0.0 0.0 0:00.03 kthreadd
3 root 20 0 S 0.0 0.0 45:34.38 ksoftirqd/0
5 root 0 -20 S 0.0 0.0 0:00.00 kworker/0:0H
7 root 0 -20 S 0.0 0.0 0:00.00 kworker/u:0H
8 root rt 0 S 0.0 0.0 0:17.35 migration/0
9 root 20 0 S 0.0 0.0 6:52.03 rcu_preempt
10 root 20 0 S 0.0 0.0 0:00.00 rcu_bh
11 root 20 0 S 0.0 0.0 0:00.00 rcu_sched
12 root rt 0 S 0.0 0.0 0:00.46 watchdog/0
13 root rt 0 S 0.0 0.0 0:00.47 watchdog/1
14 root 20 0 S 8.4 0.0 22:22.00 ksoftirqd/1
15 root rt 0 S 0.0 0.0 0:19.23 migration/1
18 root rt 0 S 0.0 0.0 0:00.48 watchdog/2
19 root 20 0 S 0.0 0.0 21:09.37 ksoftirqd/2
20 root rt 0 S 0.0 0.0 0:19.26 migration/2
22 root 0 -20 S 0.0 0.0 0:00.00 kworker/2:0H
23 root rt 0 S 0.0 0.0 0:00.50 watchdog/3
24 root 20 0 R 0.0 0.0 23:53.19 ksoftirqd/3
25 root rt 0 S 0.0 0.0 0:20.26 migration/3
27 root 0 -20 S 0.0 0.0 0:00.00 kworker/3:0H
28 root 0 -20 S 0.0 0.0 0:00.00 cpuset