私のクアッドコアノートブックのコアの1つが固定され、非常に熱く動作することがわかりました。私はこれを以下で見つけました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
CPUを台無しにするのですか?これはKubuntu 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
編集する:固定CPUに加えて別の問題があることに気づきました。新しく接続されたUSBデバイス(USB大容量記憶装置やキーボードなど)は表示されますが、lsusb
使用できません。大容量記憶装置は自動的にマウントされず、USBキーボードは使用できません。 USBドライブを手動でマウントしようとしませんでした。
Blatchleyの提案によると、これはストレイスです。IDが359のプロセスsystemd-udev
。
答え1
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の前に#を追加して2行目をコメントアウトすると、次のようになります。
#ENV{ID_MTP....
コンピュータを再起動または実行してsudo systemctl restart systemd-udevd
無料のCPUサイクルをお楽しみください:)
答え2
udevadm monitor
CPUを共有するドライバを見つけるために使用されます。
答え3
eLobatoが提案したソリューションは私には適していませんでした。
説明したのと同じ症状で次のスレッドが見つかりました。 https://askubuntu.com/questions/1073185/after-upgrade-from-ubuntu-16-to-18-04-systemd-udevd-uses-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
答え4
systemd-udevのCPU使用率が100%になるバグがカーネルにあります。
したがって、回避策はシステムを再起動し、Grubがロードされている間にShiftキーを押すことです。次に、ブートローダリストにリストされている古いカーネルを選択します。
これは私にとってうまくいきます。