Linuxカーネルのすべてのタスクの時間スケールは何ですか?

Linuxカーネルのすべてのタスクの時間スケールは何ですか?

私は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

おすすめ記事