gnome-shell의 CPU 사용량이 많은 원인을 찾는 방법은 무엇입니까?


13

저는 Linux Fedora 23을 사용하고 있으며 최근에 gnome-shell프로세스에서 지속적으로 하나의 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에 있습니다.


나는 i7-2600으로, 아치 리눅스 커널 4.5.1에서 동일한 문제가
플로리안 확인 베스트

데스크탑 배경에 이미지를 설정하지 않았습니까?
frans

Lenovo G50과 Ubuntu 17.10에서 동일한 문제가 있습니다. 아무도이 질문에 답하지 않았다는 것에 실망했다.
TheGeeko61

답변:


6

아마도 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

그러면 감사가 설치 및 시작되고 PID의 시스템 호출 정보 (예 : 1234)를 캡처하는 정책을 설정하고 적절한 양의 정보를 캡처하는 동안 잠시 기다렸다가 감사 정책을 제거합니다. gnome-terminal PID에 대해 auditd.log를 잘 살펴보면 바쁜 작업에 대한 더 나은 아이디어를 얻을 수 있습니다.

프로세스가 수행하는 시간을 파악하는 또 다른 빠른 도구는 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 -s2 clone

행운을 빕니다!


1
perf는 커널이 수행중인 작업을 검사하는 데 유용하지만이 CPU 사용 문제가 사용자 영역에서 발생한 것으로 의심되면 시스템 호출을 보는 것이 가장 좋습니다. 나는 최근에 감사 된 방법 ( '-S execve'와 '-F ...'를 사용하지 않고 정책을 제한하여 모든 'execve'시스템 호출을 감시하도록 제한)을 사용하여 프로세스 / 데몬이 'zpool get'을 호출하는 프로세스를 추적했습니다. 10 초 도커라는 것을 매우 빨리 배웠습니다!
trcm

0

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
           메모리-MB / % 사용-상위 5 개 활성
           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

1
이것은 gnome-shell 내에서 정확히 CPU 피크를 일으키는 원인을 어떻게 보여줍니까?
색종이 조각

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.