Systemd-udev मेरे सीपीयू को क्यों बढ़ा रहा है?


15

मैंने देखा है कि चार-कोर वाले लैपटॉप में से एक कोर पेग होता है, और अस्थायी बहुत अधिक होता है। मुझे यह मिला top:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  359 root      20   0  188684 147228   1552 R  99.4  5.0 111:19.91 systemd-udevd
20011 root      20   0  188320 147604   2076 S  11.0  5.0   0:00.33 systemd-udevd
11053 dotanco+  20   0 3030036 918672  49608 S   9.6 31.2 280:40.65 firefox
 3468 dotanco+  20   0 3612776 136740  43484 S   1.7  4.6  57:02.52 plasma-desktop
20006 root      20   0       0      0      0 Z   1.0  0.0   0:00.37 systemd-udevd

systemd-udevसीपीयू को हथौड़ा क्यों दिया जा सकता है? यह कुबंटु 14.10 प्रणाली है:

$ uname -a
Linux loathe 3.16.0-44-generic #59-Ubuntu SMP Tue Jul 7 02:07:39 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu 14.10 \n \l

EDIT: मैं ध्यान देता हूं कि पेग्ड सीपीयू के अलावा, एक अतिरिक्त समस्या है। नए कनेक्टेड USB डिवाइस, जैसे कि USB मास स्टोरेज डिवाइस या कीबोर्ड, दिखाई देंगे lsusbलेकिन बेकार हैं। मास स्टोरेज डिवाइस ऑटो माउंटेड नहीं है, और यूएसबी कीबोर्ड काम नहीं करता है। मैंने USB ड्राइव को मैन्युअल रूप से माउंट करने की कोशिश नहीं की है।

Bratchley के सुझाव के अनुसार, यहां strace है की systemd-udevआईडी 359 के साथ प्रक्रिया।


2
तुम straceयह strace -fvvp 359संभावना का उपयोग कर यह कुछ पर लगातार पाशन कर रहे हैं हो सकता है। आप कुछ सार्थक लेने में सक्षम हो सकते हैं। यह शायद एक बग है लेकिन यह अभी भी एक अच्छी बग रिपोर्ट के लिए बना सकता है यदि आप इसके बारे में डेटा एकत्र कर सकते हैं।
ब्राचली

1
@ ब्रेचली: धन्यवाद, यहां स्ट्रेस है । मैं इसे सीखने के लिए अभी गुगली कर रहा हूं, लेकिन किसी भी सलाह की सराहना की जाएगी।
डॉटान्चेन

1
वैसे यह लूपिंग नहीं लगता है। ऐसा लगता है कि यह फाइलों के एक समूह में पढ़ रहा है और modprobeउन्हें स्थापित करने के लिए -ing कर रहा है। बस यादृच्छिक सामान का एक गुच्छा वास्तव में। क्या यह संदेश या dmesgकमांड को कुछ भी प्रिंट करता है ?
ब्राचली

1
मुझे जाँच करनी चाहिए थी dmesg, मैंने मशीन को लगभग दो या तीन घंटे पहले रीसेट कर दिया था। यह पुष्टि करने के लिए आपका बहुत-बहुत धन्यवाद कि लूपिंग नहीं है। मैंने स्ट्रेस पर जाने की कोशिश की और हालाँकि मैं उन्हें पढ़ने में पारंगत नहीं हूँ, फिर भी मुझे कोई अनंत लूप नहीं मिला जो हमेशा पहली बात हो जो मुझे लगता है कि जब सीपीयू स्पाइक्स करता है।
डॉटान्चेन

2
क्या कुछ दिखाया गया है जब आप "udvadm मॉनिटर" चलाते हैं?
V13

जवाबों:


17

ऐसा लगता है कि libmtp को एक उपकरण मिला है, लेकिन यह इसे ठीक से डिस्कनेक्ट करने में असमर्थ है और यह लगातार इसके लिए जाँच कर रहा है। यह कुछ उपकरणों के साथ होता है और संपादन /lib/udev/rules.d/69-libmtp.rules द्वारा अक्षम किया जा सकता है

इस तरह दिखने वाली कुछ पंक्तियों को देखें (फ़ाइल के अंत में):

# Autoprobe vendor-specific, communication and PTP devices 
ENV{ID_MTP_DEVICE}!="1", ENV{MTP_NO_PROBE}!="1", ENV{COLOR_MEASUREMENT_DEVICE}!="1", ENV{libsane_matched}!="yes", ATTR{bDeviceCl     ass}=="00|02|06|ef|ff", PROGRAM="/usr/lib/udev/mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}", RESULT=="1", SYMLINK+="li     bmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

ENV से पहले एक # डालकर दूसरी पंक्ति पर टिप्पणी करें, ताकि यह ऐसा लगे:

#ENV{ID_MTP.... 

अपने कंप्यूटर को पुनरारंभ करें या चलाएं sudo systemctl restart systemd-udevdऔर अपने मुफ्त सीपीयू साइकिल का आनंद लें :)


मेरे लिए रिबूट जरूरी था। मैंने कई बार systemd-udevd को फिर से शुरू करने की कोशिश की, लेकिन यह हमेशा सीपीयू को फिर से तुरंत लागू करेगा।
नैट ग्लेन

यह टिप्पणी करना मेरे लिए हल नहीं हुआ। मुझे लगता है कि मेरी समस्या एनवीडिया चालक से संबंधित है। @Wayfactory, unix.stackexchange.com/a/442324/134153 द्वारा पोस्ट देखें ।
दान एच।

9

udevadm monitorयह जानने के लिए प्रयोग करें कि कौन सा ड्राइवर सीपीयू को पूल कर रहा है।


ठीक। मुझे लगता है कि मुझे डिवाइस मिल गया। अब क्या?
norok2

यह टिप्पणी मुझे इसे जमीन पर लाने में मदद कर रही है। मुझे जानकारी नहीं थी udevadm monitor। धन्यवाद!
दान एच

5

दूसरा कारण:

  1. स्थापित एनवीडिया चालक 396
  2. रिक्त स्क्रीन के साथ पुनरारंभ करें
  3. बायोस में विकलांग एनवीडिया
  4. सिस्टम इंटेल के साथ काम करता है, लेकिन कई नींद / फिर से शुरू होने के बाद मुझे यह मिला udevadm monitor(यादृच्छिक लाइनों से लेकिन सभी समान रूप से दोहराते हुए):

    ...
    KERNEL[10072.040174] remove   /module/nvidia (module)
    UDEV  [10072.062670] add      /module/nvidia (module)
    UDEV  [10072.063617] add      /kernel/slab/:A-0000256/cgroup/filp(40652:nvidia-persistenced.service) (cgroup)
    UDEV  [10072.076901] remove   /module/nvidia (module)
    UDEV  [10072.109365] add      /kernel/slab/:aA-0000192/cgroup/dentry(40652:nvidia-persistenced.service) (cgroup)
    KERNEL[10072.138225] add      /module/nvidia (module)
    KERNEL[10072.139241] add      /kernel/slab/:0012288 (slab)
    KERNEL[10072.139651] remove   /kernel/slab/:0012288 (slab)
    ...
    

मुझे यकीन नहीं है लेकिन मुझे उम्मीद है कि यह इस तथ्य के कारण है कि एनवीडिया चालक सक्रिय है लेकिन एनवीडिया BIOS में अक्षम है।


1
मैं एक समस्या मे फंस गया। Nvidia ड्राइवरों की स्थापना रद्द करने से समस्या हल हो गई।
टीसी झांग

2

ELobato द्वारा प्रस्तावित समाधान ने मेरे लिए काम नहीं किया।

वर्णित समान सहानुभूति के साथ, मुझे यह धागा मिला: /ubuntu/1073185/after-upgrad-from-ubuntu-16-to-18-04-systemd-udevd-use-100-cpu

कि मेरे लिए इस मुद्दे को हल किया। मैं संपूर्णता के लिए नीचे दिए गए समाधान को दोहराता हूं, लेकिन सभी क्रेडिट brunom4ciel द्वारा मूल उत्तर पर जाते हैं।


यदि प्रक्रिया को रोकने और शुरू करने की कोशिश करें तो बिना किसी दुष्प्रभाव के समस्या को हल किया जा सकता है:

sudo systemctl stop systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket

sleep 5

sudo systemctl start systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket

यदि यह काम करता है, तो इसके साथ एक स्क्रिप्ट में एम्बेड करें /etc/init.d/systemd-udevd-solv.sh:

sudo vim /etc/init.d/systemd-udevd-solv.sh

और पेस्ट:

#!/bin/sh

sudo systemctl stop systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket

sleep 5

sudo systemctl start systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket

फिर लॉगिन पर निष्पादित होने की अनुमति बदलें

sudo chmod a+x /etc/init.d/systemd-udevd-solv.sh

मेरे लिए यह केवल एक बैंड-सहायता है: ऐसा लगता है कि अगर मैं ~ 30 मिनट प्रतीक्षा करता हूं, तो udvd का सीपीयू उपयोग वापस आ जाता है।
दान एच।

1

कर्नेल में एक बग है जो सिस्टम-यूडीवीएस 100% सीपीयू उपयोग का कारण बनता है।

इसलिए, आस-पास का काम सिस्टम को रिबूट करना है, और ग्रब लोड करने के दौरान शिफ्ट को दबाए रखें। फिर बूटलोडर सूची में सूचीबद्ध पुराने कर्नेल का चयन करें।

यह मेरे लिए ठीक काम है।


0

लिनक्स टकसाल 17.3 रोजा पर मुझे यही समस्या थी।

इसे हल करने के लिए, जब मेरा पीसी निष्क्रिय है:

  • मैंने टर्मिनल खोला।
  • SU के रूप में लॉगिन करें।
  • topकमांड का उपयोग करें और पीआईडी ​​देखेंsystemd
  • इसे मार।

सीपीयू वापस सामान्य और रैम का उपयोग कम हो गया। बेशक मेरा डेस्कटॉप अभी भी स्थिर है। मैं उस ऑपरेशन के बाद सामान्य रूप से अपने डेस्कटॉप का उपयोग कर सकता हूं।


मैंने हमेशा सोचा था कि systemd हमेशा PID 1 0pointer.de/blog/projects/systemd.html
aventurin

0

मैंने पाया है कि यह हाइपर- V पर चल रहे CentOS के कुछ इंस्टाल पर एक समस्या है । VM सेटिंग्स में एकीकरण सेवाओं को बंद करने से यह हल हो गया है। विशेष रूप से समय सिंक्रनाइज़ेशन

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