htopを開いた後、CPU使用率が100%に達するのはなぜですか?

htopを開いた後、CPU使用率が100%に達するのはなぜですか?

開くたびに、htopシングルコアのCPU使用率が突然100%に急増することが示されます。統計収集がそれほど集中的ではないと思いましたかhtop? !

htopこのピークが突然現れるのはなぜですか?

答え1

プログラムの副作用、つまりロードされたリソースの使用量を確認できます。実行可能ファイルとそのライブラリをメモリにロードし、初期化し、プログラムに制御を渡すことは無料の作業ではありません。これには、CPU、メモリ、および(まだキャッシュされていない場合)ディスクが含まれます。

top起動直後に表示される使い方は次のとおりです。

top - 13:21:29 up 1 day, 23:31,  1 user,  load average: 1.73, 1.78, 1.46
Tasks: 151 total,   3 running,  93 sleeping,   0 stopped,   0 zombie
%Cpu(s): 16.4 us,  5.7 sy,  0.0 ni, 73.1 id,  4.6 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem :  3967564 total,   135908 free,  2053480 used,  1778176 buff/cache
KiB Swap:  8388604 total,  8332796 free,    55808 used.  1652564 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  896 qemu      20   0 1961872 508076   6144 S 100.0 12.8 790:22.87 /usr/bin/qemu-system-x86_64 -name guest=Gentoo-amd64,debug-threads=on +
  596 qemu      20   0 2326244 863164   4488 R   6.2 21.8 311:23.29 /usr/bin/qemu-system-x86_64 -name guest=data,debug-threads=on -S -obje+
12655 root      20   0   49732   4164   3432 R   6.2  0.1   0:00.01 top -d 10
    1 root      20   0   49568   5492   3700 S   0.0  0.1   0:02.52 /lib/systemd/systemd --switched-root --system --deserialize 32

10秒後(短い時間でも同じですが、開始時にテキストをコピーできるようにしたい):

  896 qemu      20   0 1961872 508076   6144 R 103.5 12.8 790:33.23 /usr/bin/qemu-system-x86_64 -name guest=Gentoo-amd64,debug-threads=on +
  596 qemu      20   0 2326244 863164   4488 R   8.7 21.8 311:24.16 /usr/bin/qemu-system-x86_64 -name guest=data,debug-threads=on -S -obje+
10200 root      20   0 1354396 131740  29824 S   3.1  3.3  13:05.97 python2.7 /usr/share/virt-manager/virt-manager
10150 root      20   0   66548   6004   4880 S   2.6  0.2   8:22.49 sshd: root@pts/0
  850 qemu      20   0 1726656 300432   5496 S   0.8  7.6  19:30.70 /usr/bin/qemu-system-x86_64 -name guest=distcc-i686,debug-threads=on -+
  328 avahi     20   0   53744   3608   2936 S   0.2  0.1   0:10.93 avahi-daemon: running [server-calgary.local]
  460 root      20   0       0      0      0 S   0.1  0.0   0:04.87 [nfsd]
  475 root      20   0 1282444  13820   8268 S   0.1  0.3   1:13.16 /usr/sbin/libvirtd --listen
 9143 root      20   0       0      0      0 I   0.1  0.0   0:36.05 [kworker/1:1]
10146 root      20   0       0      0      0 I   0.1  0.0   0:25.93 [kworker/0:2]
12641 root      20   0       0      0      0 I   0.1  0.0   0:00.02 [kworker/u4:0]
12655 root      20   0   49732   4176   3432 R   0.1  0.1   0:00.02 top -d 10
    1 root      20   0   49568   5492   3700 S   0.0  0.1   0:02.52 /lib/systemd/systemd --switched-root --system --deserialize 32

top作業を完了するために実際にCPUの6.2%を使用していますか?いいえ:これは、すべてのプログラムの起動時に実行するロード操作です。プログラムが安定すると、利用率は0.1%に低下します。

htopCPUを100%使用することはほとんどありませんが(バグがある可能性があります)、起動時に使用量が高いことは驚くべきことではありません。

関連情報