GNOME kabuğunun yüksek CPU kullanımının sebebini nasıl bulabilirim?


11

Bir Linux Fedora 23'um ve yakın zamanda gnome-shell işlem sürekli olarak bir CPU'nun% 100'ünü kullanıyor ( htop, çalışan görünür uygulama yok). Orada hatalar için bazı geçici çözümler kapsayan bazı ipuçları vardır gnome-shell (arka plan logosunu devre dışı bırakma, monitörleri yeniden hizalama), ancak hiçbiri yardım etmiyor.

Koşmaya çalıştım

perf top

Aşağıdaki çalışmalarda çoğu işi bildiren

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
 ...

Sonra daha yakından bakmaya çalıştım gnome-shell ile işlemek

perf record -g -p PID
perf report -g

ancak çıktı işe yaramaz gibi görünüyor:

  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

Benim sistemimde neler olup bittiğini incelemek için ne yapabileceğime dair bir ipucunuz var mı?

Fedora çekirdeği çalıştıran Intel Iris 540 ile Skylake i5 6260u'dayım 4.3.3-300.fc23.x86_64


Aynı konuda, Linux Linux çekirdeği 4.5.1’de i7-2600 ile aynı sorunu yaşıyorum
Florian Bw

Masaüstü arka planında görüntü ayarlamamayı denediniz mi?
frans

Ubuntu 17.10'da Lenovo G50 ile aynı sorunu yaşıyorum. Kimsenin bu soruyu çözmediğini hayal kırıklığına uğrattım.
TheGeeko61

Yanıtlar:


4

Belki de kabaca şöyle bir şey olacak olan auditd'i kullanmayı deneyin:

$ 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

Bu, Auditd'in kurulumunu başlatır ve başlatır, PID'iniz için sistem çağrısı bilgilerini yakalamak için bir politika belirler (örnekte 1234), uygun miktarda bilgi almak için kısa bir süre bekleyin, ardından denetim politikasını kaldırın. GNOME Terminal PID'iniz için auditd.log dosyasına bir göz atın, meşgul olma konusunda daha iyi bir fikir edinebilirsiniz.

Bir sürecin zamanını harcadığı zamanı bulmak için başka bir hızlı araç sadece harekete geçmek, kısa bir süre beklemek, sonra da CTRL-c'ye basmak:

$ 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

Ardından, daha fazla bilgi edinmek istiyorsanız, baktığınız sistem çağrısı için uygun kılavuz sayfasına bakın:

$ man -s2 clone

İyi şanslar!


1
perf, çekirdeğin ne yapmakla meşgul olduğunu incelemek için harikadır, ancak bu CPU kullanım sorununun kullanıcının kullanım alanlarından kaynaklandığından şüpheleniyorsanız, sistem aramalarına bakmaktan en iyisidir. Geçenlerde denetleme yöntemini kullandım ('-S exec' ile ve '-F ...' yokken, politikayı tüm 'çalıştırma' sistem çağrılarını izlemesini sınırlamak için kısıtlamak için). on saniye. Çok hızlı bir şekilde liman işçisi olduğunu öğrendim!
trcm

0

apt install inxi inxi -t cm

Processes: CPU - % used - top  5 active
           1: cpu: 100% command: gnome-shell pid: 1980
           2: cpu: 1.1% command: java pid: 1425
           3: cpu: 0.1% command: java pid: 2949
           4: cpu: 0.0% command: bash pid: 32516
           5: cpu: 0.0% command: su pid: 32515
           Memory - MB / % used - top  5 active
           1: mem: 5613.34MB (35.2%) command: gnome-shell pid: 1980
           2: mem: 3256.19MB (20.4%) command: gnome-settings-daemon pid: 1647
           3: mem: 2305.28MB (14.4%) command: java pid: 1425
           4: mem: 1048.82MB (6.5%) command: java pid: 2949
           5: mem: 225.59MB (1.4%) command: java pid: 2619

1
Bu, gnome-shell içindeki tam olarak neyin CPU zirvesine neden olduğunu nasıl gösteriyor?
confetti

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.