सूक्ति-शेल के उच्च CPU उपयोग का कारण कैसे पता करें?


13

मैं एक लिनक्स फेडोरा 23 पर हूं और मैंने हाल ही में देखा कि मेरी gnome-shellप्रक्रिया लगातार 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

क्या आपके पास मेरे लिए एक संकेत है कि मैं क्या निरीक्षण कर सकता हूं कि मेरे सिस्टम पर क्या हो रहा है?

मैं एक Skylake i5 6260u पर Intel Iris 540 के साथ Fedora के साथ कर्नेल 4.3.3-300.fc23.x86_64 चला रहा हूं


मेरे पास आर्क लिनक्स पर एक ही मुद्दा है, कर्नेल 4.5.1, एक i7-2600 के साथ
फ्लोरियन बीडब्ल्यू

क्या आपने डेस्कटॉप पृष्ठभूमि पर कोई छवि स्थापित करने की कोशिश की है?
Frans

मैं लेनोवो G50 के साथ Ubuntu 17.10 पर एक ही मुद्दा रहा हूँ। निराश है कि किसी ने भी इस प्रश्न को संबोधित नहीं किया है।
द जीइको ६१

जवाबों:


6

शायद ऑडिट का उपयोग करने का प्रयास करें, जो मोटे तौर पर कुछ इस तरह होगा:

$ 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) पर कब्जा करने के लिए एक नीति सेट करें, थोड़ी देर के लिए प्रतीक्षा करें जानकारी की एक सभ्य राशि पर कब्जा करने के लिए, फिर ऑडिट नीति को हटा दें। अपने गनोम-टर्मिनल पीआईडी ​​के लिए ऑडिट पर ध्यान दें। आप बेहतर सोच सकते हैं कि यह क्या करने में व्यस्त है।

स्पॉटिंग के लिए एक और त्वरित उपकरण जो एक प्रक्रिया खर्च कर रहा है वह है समय बस स्ट्रेस, थोड़े समय की प्रतीक्षा करें, फिर 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' और no -F ... 'का उपयोग किया है ताकि नीति को प्रतिबंधित किया जा सके कि सभी' 'निष्पादित करें' सिस्टम कॉल्स को देखने के लिए क्या प्रक्रिया को ट्रैक किया जाए / डेमॉन 'zpool get' को कॉल कर रहा है दस सेकंड। बहुत जल्दी सीखा यह docker था!
trcm

0

apt install inxi inxi -t cm

प्रक्रियाएँ: CPU -% का उपयोग - शीर्ष 5 सक्रिय
           1: सीपीयू: 100% कमांड: सूक्ति-शेल पिड: 1980
           2: सीपीयू: 1.1% कमांड: जावा पिड: 1425
           3: सीपीयू: 0.1% कमांड: जावा पिड: 2949
           4: cpu: 0.0% कमांड: bash pid: 32516
           5: cpu: 0.0% कमांड: su pid: 32515
           मेमोरी - एमबी /% का उपयोग - शीर्ष 5 सक्रिय
           1: मेम: 5613.34MB (35.2%) कमांड: सूक्ति-शेल पिड: 1980
           2: मेम: 3256.19MB (20.4%) कमांड: सूक्ति-सेटिंग्स-डेमन पिड: 1647
           3: मेम: 2305.28MB (14.4%) कमांड: जावा पिड: 1425
           4: मेम: 1048.82 एमबी (6.5%) कमांड: जावा पिड: 2949
           5: मेम: 225.59MB (1.4%) कमांड: जावा पिड: 2619

1
यह कैसे दिखाता है कि सूक्ति-शैल के भीतर वास्तव में सीपीयू चोटी का कारण क्या है?
कॉन्फ़ेटी

-1

किसी के लिए भी जो एक समान समस्या का सामना करता है। जांचें कि आप उपयोग कर रहे हैं। Xorg या वेटलैंड। यदि वीलैंड को एक्सगॉर में बदल दिया जाए और सब कुछ ठीक हो जाए।


इसे कैसे जांचना चाहिए?
user907860

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.