Linux Fedora 23を使用していますが、最近、gnome-Shell
プロセスが常に1つのCPUの100%を使用していることに気付きました(htop
から報告され、目に見えるアプリケーションは実行されていません)。 gnome-Shell
のバグのいくつかの回避策(背景ロゴの非アクティブ化、モニターの再調整)を示すヒントはいくつかありますが、どれも役立ちません。
走ってみた
perf top
次の記号で最も多くの作業を報告します。
22.55% [kernel] [k] acpi_ns_search_one_scope
11.41% [kernel] [k] acpi_ex_system_memory_space_h
5.27% [kernel] [k] _raw_spin_lock_irqsave
5.23% [kernel] [k] _raw_write_unlock_irqrestore
3.52% [kernel] [k] acpi_ut_update_object_referen
...
次に、gnome-Shell
プロセスを詳しく調べてみました
perf record -g -p PID
perf report -g
しかし、出力は役に立たないようです:
Children Self Command Shared Object Symbol
- 29.08% 0.00% gnome-Shell [unknown] [.] 000000000
- 0
+ 55.88% 0
+ 8.25% 0x85a81
+ 6.87% 0x2
+ 5.94% 0x4
+ 4.60% 0x889fc
3.32% 0x656c6261
+ 2.39% 0x8feab
2.23% 0x88467
+ 1.26% 0x190800002800
+ 1.24% 0xffad7fa800100008
1.23% 0xc82ca96051913c58
1.20% 0x5602c82afa00
+ 1.18% 0x1
1.16% 0x89e84
1.10% 0x5602c7c68830
1.08% 0x5602c900736e
+ 1.08% 0x7ffe4bfd1001
- 21.48% 0.00% gnome-Shell [kernel.kallsyms] [k] entry_SYS
- entry_SYSCALL_64_fastpath
+ 43.62% __GI___ioctl
+ 18.92% 0xf6fdd
+ 12.90% __GI___libc_open
+ 5.21% 0xfb4d
+ 3.92% __GI___libc_recvmsg
+ 2.89% _IO_file_read
+ 2.75% __socket
+ 2.74% __GI___libc_read
+ 1.41% __GI___mmap64
+ 1.39% __GI___libc_recvmsg
1.30% 0x103b73
+ 0.77% __GI___writev
0.74% __statfs
+ 0.74% _IO_file_open
0.71% __GI___munmap
+ 9.37% 0.00% gnome-Shell libc-2.22.so [.] __GI___io
+ 9.37% 0.00% gnome-Shell [kernel.kallsyms] [k] sys_ioctl
私のシステムで何が起こっているのかを調べるために私が何ができるかについてのヒントはありますか?
カーネル4.3.3-300.fc23.x86_64を実行しているFedoraを搭載したIntel Iris 540を搭載したSkylake i5 6260uを使用しています
おそらく、およそ次のようなauditdを使用してみてください。
$ Sudo yum install auditd
$ Sudo auditctl -a exit,always -S all -F pid=1234 & sleep 15
$ Sudo auditctl -d exit,always -S all -F pid=1234
$ less /var/log/audit/audit.log
これにより、auditdがインストールおよび開始され、PIDのシステムコール情報(例では1234)をキャプチャするポリシーが設定され、しばらく待って適切な量の情報をキャプチャしてから、監査ポリシーを削除します。 gnome-terminal PIDのauditd.logをよく確認してください。これにより、ビジー状態で何が行われているかをよりよく理解できます。
プロセスが実行に費やしている時間を特定するもう1つの簡単なツールは、straceを実行し、少し待ってからCTRL-cを押すことです。
$ Sudo strace -c -p 1234
strace: Process 1234 attached
^Cstrace: Process 1234 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
56.98 0.003496 388 9 clone
17.19 0.001055 8 135 rt_sigprocmask
6.19 0.000380 21 18 9 wait4
4.58 0.000281 16 18 close
3.80 0.000233 26 9 read
3.47 0.000213 24 9 stat
3.37 0.000207 23 9 9 rt_sigsuspend
3.08 0.000189 21 9 pipe
1.34 0.000082 9 9 9 rt_sigreturn
------ ----------- ----------- --------- --------- ----------------
100.00 0.006136 225 27 total
さらに詳しく知りたい場合は、該当するmanページで、探しているシステムコールを確認してください。
$ man -s2 clone
幸運を!
apt install inxi inxi -t cm
プロセス:CPU-%使用-上位5つのアクティブ 1:cpu:100%コマンド:gnome-Shell pid:1980 2:cpu:1.1%コマンド:Java pid:1425 3:cpu:0.1%コマンド:Java pid:2949 4:cpu:0.0%コマンド:bash pid:32516 5:cpu:0.0%コマンド:su pid:32515 Memory-MB /%used-top 5 active 1:mem:5613.34MB(35.2%)コマンド:gnome-Shell pid:1980 2:mem:3256.19MB(20.4%)コマンド:gnome-settings-daemon pid:1647 3:mem:2305.28MB(14.4%)コマンド: Java pid:1425 4:mem:1048.82MB(6.5%)コマンド:Java pid:2949 5: mem:225.59MB(1.4%)コマンド:Java pid:2619