web-dev-qa-db-fra.com

Comment trouver la cause de l'utilisation élevée du processeur de gnome-shell?

Je suis sous Linux Fedora 23 et j'ai récemment remarqué que mon processus gnome-Shell utilise constamment 100% d'un processeur (signalé par htop, aucune application visible ne s'exécute). Il y a quelques astuces qui couvrent certaines solutions de contournement pour les bugs dans le gnome-Shell (désactivation du logo d'arrière-plan, réalignement des moniteurs), mais aucune d'entre elles n'aide.

J'ai essayé de courir

perf top

qui rapporte le plus de travail dans les symboles suivants:

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

Ensuite, j'ai essayé de regarder de plus près le processus gnome-Shell avec

perf record -g -p PID
perf report -g

mais la sortie semble être inutile:

  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

Avez-vous une idée pour moi ce que je pourrais faire pour inspecter ce qui se passe sur mon système?

Je suis sur un Skylake i5 6260u avec Intel Iris 540 avec Fedora exécutant le noyau 4.3.3-300.fc23.x86_64.

11
frans

Peut-être essayez-vous d'utiliser auditd, ce qui pourrait être à peu près comme

$ 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

Ceci installera et démarrera auditd, définira une stratégie pour capturer les informations sur les appels système de votre PID (1234 dans l'exemple), attendez quelques instants pour capturer un nombre correct d'informations, puis supprimez la stratégie d'audit. Examinez bien le fichier audit auditd.log pour votre PID gnome-terminal, vous aurez peut-être une meilleure idée de ce qu’il fait.

Un autre outil rapide pour repérer ce que passe un processus est son temps d'exécution: il suffit de patienter quelques instants, puis d'appuyer sur 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

Ensuite, si vous souhaitez en savoir plus, consultez la page de manuel appropriée pour l'appel système que vous consultez:

$ man -s2 clone

Bonne chance!

4
trcm

apt install inxi inxi -t cm

 Processus: CPU -% d'utilisation - 5 principaux actifs 
 1: cpu: 100% commande: gnome-Shell pid: 1980 
 2: cpu: 1.1% commande: Java pid: 1425 
 3: cpu: 0.1% commande: Java pid: 2949 
 4: cpu: 0.0% commande: bash pid: 32516 
 5: cpu: 0.0% commande: su pid : 32515 
 Mémoire - Mo /% utilisé - 5 principaux actifs 
 1: mem: 5613.34Mo (35.2%) commande: gnome-Shell pid: 1980 
 2: mem: 3256.19 MB (20.4%) commande: gnome-settings-daemon pid: 1647 
 3: mem: 2305.28MB (14.4%) commande: Java pid: 1425 
 4: mem: 1048.82MB (6.5% ) commande: pid Java: 2949 
 5: mem: 225,59 Mo (1,4%) commande: pid Java: 2619 
0
chanchal sakarde