`ps -o pcpu`はCPU使用率が非常に低いことを示します。

`ps -o pcpu`はCPU使用率が非常に低いことを示します。

ps -o pcpu実際に古い CPU 使用量を表示する必要があります。

user@comp:~/acr/bin$ ps -o pid,pcpu,comm k-pcpu -u `whoami` | head

  PID %CPU COMMAND
 3709 34.7 R
15292 34.4 R
 3603 33.8 R
 3593 33.1 R
 3864 33.1 R
 3833 32.8 R
 3623 32.4 R
 3723 32.3 R
 3809 32.3 R

現在の使用量は0です。top少しの割合が表示されますが、実際には、これらのプロセスは現在ユーザー入力を待っています。

user@comp:~/acr/bin$ top

top - 21:39:03 up 55 days,  6:01,  4 users,  load average: 0.89, 0.79, 0.81
Tasks: 648 total,   2 running, 646 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.3 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.5 st
KiB Mem : 23920025+total, 19068168+free, 43706008 used,  4812568 buff/cache
KiB Swap:  8265724 total,  8232252 free,    33472 used. 19399897+avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 8431 user      20   0  778708 293092  13932 S   2.3  0.1  54:05.37 R
 8504 user      20   0  765680 279928  13904 S   2.3  0.1  47:20.29 R
 9217 user      20   0  766256 280460  13884 S   2.3  0.1  48:35.28 R
12921 user      20   0  763716 278040  13924 S   2.3  0.1  34:58.31 R
12998 user      20   0  765096 279276  13892 S   2.3  0.1 129:13.39 R
13026 user      20   0  764736 280960  13884 S   2.3  0.1 130:57.73 R
13093 user      20   0  765824 280056  13884 S   2.3  0.1  22:41.56 R
13208 user      20   0  765696 279884  13920 S   2.3  0.1  39:41.12 R
13325 user      20   0  776420 290744  13912 S   2.3  0.1  35:56.80 R
13832 user      20   0  765244 279424  13888 S   2.3  0.1 128:38.19 R

30%以上を表示ps- このプロセスは過去12時間の間何も処理していないので、少なくとも24時間という途方もない長い時間内に完了する必要があります!以前は作業率は100%でした。

質問:

  1. 問題は何ですか?バグがありますか?
  2. 現在の使用量を表示するにはどうすればよいですか?

私のシステムは、32 CPU仮想マシンのCentOS Linuxバージョン7.6.1810(コア)です。

ベストアンサー1

man psは%CPUについて次のように言います。

現在、使用されているCPU時間をプロセスが実行された時間(CPU時間/リアルタイム比)で割ってパーセンテージで表示します。

したがって、プロセスが開始されて以来、歴史的です。

上部には各遅延時間フラグメントの値が表示されます。

topには、ncursesを使用する代わりにテキスト形式でレポートを出力する-b(配置)オプションがあります。 -d オプションと -n オプションを適切に考慮して、必要なものを選択できます。

おすすめ記事