Tại sao systemd-udev gắn CPU của tôi?


15

Tôi đã nhận thấy rằng một trong những lõi trên máy tính xách tay bốn lõi đã được chốt và nhiệt độ rất cao. Tôi tìm thấy điều này trong 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

Tại sao có thể systemd-udevlàm hỏng CPU? Đây là hệ thống Kubfox 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: Tôi nhận thấy rằng ngoài CPU được gắn, còn có một vấn đề khác. Các thiết bị USB mới được kết nối, như thiết bị lưu trữ dung lượng lớn hoặc bàn phím USB, sẽ hiển thị lsusbnhưng không sử dụng được. Thiết bị lưu trữ dung lượng lớn không được gắn tự động và bàn phím USB không hoạt động. Tôi chưa thử tự lắp ổ USB.

Theo đề nghị của Bratchley, đây là bước systemd-udevtiến trình với ID 359.


2
Bạn có thể stracesử dụng strace -fvvp 359cơ hội là nó liên tục lặp lại trên một cái gì đó. Bạn có thể chọn ra một cái gì đó có ý nghĩa. Đây có thể là một lỗi nhưng nó vẫn có thể tạo ra một báo cáo lỗi tốt nếu bạn có thể thu thập dữ liệu về nó.
Bratchley

1
@Bratchley: Cảm ơn bạn, đây là bước tiến . Bây giờ tôi đang tìm hiểu cách đọc nó, nhưng mọi lời khuyên sẽ được đánh giá cao.
dotancohen

1
Chà, nó không giống như nó đang lặp. Nó dường như đang đọc trong một loạt các tệp và modprobe-ing để thiết lập chúng. Chỉ là một loạt các công cụ ngẫu nhiên thực sự. Nó in bất cứ điều gì để tin nhắn hoặc dmesglệnh?
Bratchley

1
Tôi nên kiểm tra dmesg, tôi chỉ cần thiết lập lại máy khoảng hai hoặc ba giờ trước. Cảm ơn bạn rất nhiều vì đã xác nhận rằng không có vòng lặp. Tôi đã cố gắng vượt qua các bước và mặc dù tôi không thành thạo khi đọc chúng, tôi không thể tìm thấy bất kỳ vòng lặp vô hạn nào luôn là điều đầu tiên tôi nghĩ đến khi CPU tăng đột biến.
dotancohen

2
Có bất cứ điều gì được hiển thị khi bạn chạy "màn hình udevadm"?
V13

Câu trả lời:


15

Có vẻ như libmtp đã tìm thấy một thiết bị, nhưng nó không thể ngắt kết nối đúng cách và nó liên tục kiểm tra thiết bị. Nó xảy ra với một số thiết bị nhất định và có thể bị vô hiệu hóa bằng cách chỉnh sửa /lib/udev/rules.d/69-libmtp.rules

Tìm kiếm một vài dòng trông như thế này (ở cuối tập tin):

# 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"

Nhận xét dòng thứ hai bằng cách đặt # trước ENV, để nó trông giống như:

#ENV{ID_MTP.... 

Khởi động lại máy tính của bạn hoặc chạy sudo systemctl restart systemd-udevdvà tận hưởng chu kỳ CPU miễn phí của bạn :)


Khởi động lại là cần thiết cho tôi. Tôi đã thử khởi động lại systemd-udevd nhiều lần, nhưng nó sẽ luôn chốt lại cpu ngay lập tức.
Nate Glenn

8

Sử dụng udevadm monitorđể tìm ra trình điều khiển nào đang gộp cpu.


ĐỒNG Ý. Tôi nghĩ rằng tôi đã tìm thấy thiết bị. Gì bây giờ?
norok2

4

Một nguyên nhân khác:

  1. Đã cài đặt trình điều khiển nvidia 396
  2. Khởi động lại với màn hình trống
  3. Nvidia bị vô hiệu hóa trong bios
  4. Hệ thống hoạt động với Intel, nhưng sau vài lần ngủ / tiếp tục, tôi đã nhận được điều này từ udevadm monitor(các dòng ngẫu nhiên nhưng lặp lại tất cả giống nhau vô thời hạn):

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

Tôi không chắc nhưng tôi hy vọng điều này là do thực tế là trình điều khiển nvidia đang hoạt động nhưng nvidia bị vô hiệu hóa trong BIOS.


1
Tôi gặp vấn đề tương tự. gỡ cài đặt trình điều khiển Nvidia đã giải quyết vấn đề.
TC Zhang

2

Giải pháp được đề xuất bởi eLobato không hiệu quả với tôi.

Với cùng một triệu chứng được mô tả, tôi đã tìm thấy chủ đề này: https://askubfox.com/questions/1073185/after-upTHER-from-ubfox-16-to-18-04-systemd-udevd-uses-100-cpu

Điều đó đã giải quyết vấn đề cho tôi. Tôi nhắc lại giải pháp dưới đây cho đầy đủ, nhưng tất cả các khoản tín dụng đều đi đến câu trả lời ban đầu của brunom4ciel.


Hãy thử nếu dừng và bắt đầu các quy trình giải quyết vấn đề mà không có tác dụng phụ không mong muốn:

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

Nếu công việc này nhúng nó vào một tập lệnh bên dưới /etc/init.d/systemd-udevd-solv.sh:

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

và dán:

#!/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

Sau đó thay đổi quyền để được thực thi khi đăng nhập

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

1

Có một lỗi trong kernel gây ra việc sử dụng CPU 100% của systemd-udevs.

Vì vậy, công việc xung quanh là khởi động lại hệ thống, nhấn và giữ Shift trong khi tải Grub. Sau đó chọn kernel cũ được liệt kê trong danh sách bootloader.

Công việc này tốt cho tôi.


0

Tôi gặp vấn đề tương tự trên Linux Mint 17.3 Rosa.

Để giải quyết nó, khi PC của tôi không hoạt động:

  • Tôi mở thiết bị đầu cuối.
  • Đăng nhập như SU.
  • Sử dụng toplệnh và xem PID của systemd.
  • Giết nó.

CPU trở lại bình thường và mức sử dụng RAM thấp. Tất nhiên máy tính để bàn của tôi vẫn ổn định. Tôi có thể sử dụng máy tính để bàn của tôi bình thường sau hoạt động đó.


Tôi luôn nghĩ rằng systemd luôn là PID 1 0pulum.de/blog/projects/systemd.html
aventurin

0

Tôi đã phát hiện ra đây là sự cố trên một số cài đặt của CentOS chạy trên Hyper-V . Tắt Dịch vụ tích hợp trong cài đặt VM dường như đã giải quyết nó. Cụ thể đồng bộ hóa thời gian .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.