GNOME Bugzilla – Bug 737958
gnome-shell peak CPU load on activities screen
Last modified: 2021-07-05 14:13:15 UTC
Created attachment 287779 [details] backtraces of gnome-shell Demonstration: https://drive.google.com/file/d/0B0nwzlfiB4aQRU4wOUtPV2RHdHc/view?usp=sharing Also I attach backtraces of gnome-shell when CPU load was be anomalously high. And it continues before I relaunch Mozilla Firefox (very strange) CPU: Core i7 Haswell Video: HD Graphics 4600
- What exact version of GNOME Shell? - What operating system? - Can you make your terminal font really big, and see if the gnome-shell CPU load is high when you are *inside* the overview, or only when you are animating too and from the overview. - Can you manage to get debug symbols installed on your system? That would make backtraces like the backtraces you provided more useful (for other people's reference, one backtrace shows gnome-shell inside meta_window_actor_pre_paint(), the other backtrace shows gnome-shell idle) - The 'perf' performance framework may provide an easier way to get an idea of what is going on in gnome-shell when the CPU load spikes.
(In reply to comment #1) > - What exact version of GNOME Shell? 3.14 > > - What operating system? Fedora 21 x86_64 > > - Can you make your terminal font really big, and see if the gnome-shell CPU > load is high when you are *inside* the overview, or only when you are animating too and from the overview. With flash you can see demo with full HD a don't know why Google restrict quality of html5 video :( > - Can you manage to get debug symbols installed on your system? That would make backtraces like the backtraces you provided more useful (for other people's > reference, one backtrace shows gnome-shell inside > meta_window_actor_pre_paint(), the other backtrace shows gnome-shell idle) $ rpm -qa | grep gnome-shell gnome-shell-extension-launch-new-instance-3.14.0-1.fc21.noarch gnome-shell-extension-apps-menu-3.14.0-1.fc21.noarch gnome-shell-3.14.0-2.fc21.x86_64 gnome-shell-extension-common-3.14.0-1.fc21.noarch gnome-shell-extension-places-menu-3.14.0-1.fc21.noarch gnome-shell-debuginfo-3.14.0-2.fc21.x86_64 gnome-shell-extension-alternate-tab-3.14.0-1.fc21.noarch gnome-shell-extension-window-list-3.14.0-1.fc21.noarch > > - The 'perf' performance framework may provide an easier way to get an idea of > what is going on in gnome-shell when the CPU load spikes. Thanks I am would learn 'perf'
(In reply to comment #2) > > - Can you manage to get debug symbols installed on your system? That would make backtraces like the backtraces you provided more useful (for other people's > > reference, one backtrace shows gnome-shell inside > > meta_window_actor_pre_paint(), the other backtrace shows gnome-shell idle) > > $ rpm -qa | grep gnome-shell > gnome-shell-extension-launch-new-instance-3.14.0-1.fc21.noarch > gnome-shell-extension-apps-menu-3.14.0-1.fc21.noarch > gnome-shell-3.14.0-2.fc21.x86_64 > gnome-shell-extension-common-3.14.0-1.fc21.noarch > gnome-shell-extension-places-menu-3.14.0-1.fc21.noarch > gnome-shell-debuginfo-3.14.0-2.fc21.x86_64 > gnome-shell-extension-alternate-tab-3.14.0-1.fc21.noarch > gnome-shell-extension-window-list-3.14.0-1.fc21.noarch gnome-shell-debuginfo is only one piece; you need to run 'debuginfo-install gnome-shell' on Fedora to get all the dependent libraries, such as mutter, clutter, etc.
(In reply to comment #3) > gnome-shell-debuginfo is only one piece; you need to run 'debuginfo-install > gnome-shell' on Fedora to get all the dependent libraries, such as mutter, > clutter, etc. Ok, which information you interested to see via 'perf'?
[mikhail@localhost ~]$ strace -f -s 256 -c -p 2134 Process 2134 attached with 7 threads ^CProcess 2134 detached Process 2136 detached Process 2141 detached Process 2144 detached Process 2145 detached Process 2146 detached Process 2147 detached % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 77.59 0.741586 126 5863 poll 20.11 0.192237 96119 2 restart_syscall 0.84 0.008051 1 12602 10319 recvmsg 0.60 0.005722 1 5593 ioctl 0.41 0.003950 1 7247 sendmsg 0.25 0.002433 1 2781 writev 0.07 0.000705 1 1340 write 0.06 0.000565 0 1177 458 read 0.02 0.000176 1 158 22 futex 0.01 0.000080 1 69 mmap 0.01 0.000065 0 132 fstat 0.01 0.000065 1 89 munmap 0.00 0.000042 1 66 open 0.00 0.000032 0 66 fcntl 0.00 0.000016 0 66 close 0.00 0.000009 0 24 17 stat 0.00 0.000000 0 1 mprotect ------ ----------- ----------- --------- --------- ---------------- 100.00 0.955734 37276 10816 total
Created attachment 289377 [details] strace -f -s 256 -p 2134
Created attachment 292200 [details] strace of gnome shell
munmap(0x7ff42750e000, 4096) = 0 recvmsg(5, 0x7fff800f8f00, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(10, 0x7fff800f8ee0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=33, events=POLLIN}, {fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=28, events=POLLIN}, {fd=32, events=POLLIN}, {fd=26, events=POLLIN}, {fd=13, events=POLLIN}, {fd=31, events=POLLIN}, {fd=11, events=POLLIN}, {fd=21, events=POLLIN}, {fd=22, events=POLLIN}, {fd=5, events=POLLIN}], 12, 13) = 1 ([{fd=10, revents=POLLIN}]) read(4, 0x7fff800f9090, 16) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(5, 0x7fff800f8f20, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(10, {msg_name(0)=NULL, msg_iov(1)=[{"Z\2\24\223C\0\0\5 \0 \1zAN\5\376\0?\0\330\5\0\1\0\0\33\0\200\7\35\4", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(10, 0x7fff800f8f00, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(10, 0x7fff800f8db0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(5, 0x7fff800f8f00, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(10, 0x7fff800f8ee0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=33, events=POLLIN}, {fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=28, events=POLLIN}, {fd=32, events=POLLIN}, {fd=26, events=POLLIN}, {fd=13, events=POLLIN}, {fd=31, events=POLLIN}, {fd=11, events=POLLIN}, {fd=21, events=POLLIN}, {fd=22, events=POLLIN}, {fd=5, events=POLLIN}], 12, 10) = 1 ([{fd=5, revents=POLLIN}]) recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"#\223+B\0\0\0\0\2\0\0\0001\0\0\1\20\0\0\1\260\265\1\0002\0\0\0013\0\0\1"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 104 recvmsg(5, 0x7fff800f8f20, 0) = -1 EAGAIN (Resource temporarily unavailable) write(4, "\1\0\0\0\0\0\0\0", 8) = 8 recvmsg(5, 0x7fff800f8de0, 0) = -1 EAGAIN (Resource temporarily unavailable) write(4, "\1\0\0\0\0\0\0\0", 8) = 8 recvmsg(5, 0x7fff800f8f00, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(10, 0x7fff800f8ee0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=33, events=POLLIN}, {fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=28, events=POLLIN}, {fd=32, events=POLLIN}, {fd=26, events=POLLIN}, {fd=13, events=POLLIN}, {fd=31, events=POLLIN}, {fd=11, events=POLLIN}, {fd=21, events=POLLIN}, {fd=22, events=POLLIN}, {fd=5, events=POLLIN}], 12, 0) = 1 ([{fd=4, revents=POLLIN}]) recvmsg(5, 0x7fff800f8f20, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(5, 0x7fff800f8f00, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(10, 0x7fff800f8ee0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=33, events=POLLIN}, {fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=28, events=POLLIN}, {fd=32, events=POLLIN}, {fd=26, events=POLLIN}, {fd=13, events=POLLIN}, {fd=31, events=POLLIN}, {fd=11, events=POLLIN}, {fd=21, events=POLLIN}, {fd=22, events=POLLIN}, {fd=5, events=POLLIN}], 12, 0) = 1 ([{fd=4, revents=POLLIN}]) read(4, "\2\0\0\0\0\0\0\0", 16) = 8 recvmsg(5, 0x7fff800f8f20, 0) = -1 EAGAIN (Resource temporarily unavailable)
Duplicate of bug 683204?
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/ Thank you for your understanding and your help.