AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-299913

dfluff's questions

Martin Hope
dfluff
Asked: 2023-02-20 20:09:02 +0800 CST

与主分区相关的 dbus-daemon 和 systemd-udevd 的高 CPU 使用率

  • 6

我正在运行 Ubuntu 20.04.5 LTS 并使用 gnome-classic 桌面(因为我坚​​持自己的方式)。当我最初登录时,我总是注意到 dbus-daemon 占用了几分钟的高 CPU,但它总是会稳定到可接受的水平。然而,在过去的几天里,dbus-daemon 和 system-udevd 一直占 CPU 的 50%,并且在笔记本电脑运行时没有稳定下来,导致风扇不断运行。

我运行了dbus-monitor --system一个非常快速的消息假脱机运行,如下面的摘录:

signal time=1676894325.355898 sender=org.freedesktop.DBus -> destination=:1.245 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.245"
signal time=1676894325.365912 sender=:1.1 -> destination=(null destination) serial=4880989 path=/org/freedesktop/systemd1/unit/sys_2ddevices_2dvirtual_2dblock_2ddm_5cx2d2_2edevice; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.freedesktop.systemd1.Device"
   array [
      dict entry(
         string "SysFSPath"
         variant             string "/sys/devices/virtual/block/dm-2"
      )
   ]
   array [
   ]
signal time=1676894325.366042 sender=:1.1 -> destination=(null destination) serial=4880990 path=/org/freedesktop/systemd1/unit/sys_2ddevices_2dvirtual_2dblock_2ddm_5cx2d2_2edevice; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.freedesktop.systemd1.Unit"
   array [
      dict entry(
         string "ActiveState"
         variant             string "active"
      )
      dict entry(
         string "SubState"
         variant             string "plugged"
      )
      dict entry(
         string "StateChangeTimestamp"
         variant             uint64 1676892339266329
      )
      dict entry(
         string "StateChangeTimestampMonotonic"
         variant             uint64 19734942
      )
      dict entry(
         string "InactiveExitTimestamp"
         variant             uint64 1676892339266329
      )
      dict entry(
         string "InactiveExitTimestampMonotonic"
         variant             uint64 19734942
      )
      dict entry(
         string "ActiveEnterTimestamp"
         variant             uint64 1676892339266329
      )
      dict entry(
         string "ActiveEnterTimestampMonotonic"
         variant             uint64 19734942
      )
      dict entry(
         string "ActiveExitTimestamp"
         variant             uint64 0
      )
      dict entry(
         string "ActiveExitTimestampMonotonic"
         variant             uint64 0
      )
      dict entry(
         string "InactiveEnterTimestamp"
         variant             uint64 0
      )
      dict entry(
         string "InactiveEnterTimestampMonotonic"
         variant             uint64 0
      )
      dict entry(
         string "Job"
         variant             struct {
               uint32 0
               object path "/"
            }
      )
      dict entry(
         string "ConditionResult"
         variant             boolean false
      )
      dict entry(
         string "AssertResult"
         variant             boolean false
      )
      dict entry(
         string "ConditionTimestamp"
         variant             uint64 0
      )
      dict entry(
         string "ConditionTimestampMonotonic"
         variant             uint64 0
      )
      dict entry(
         string "AssertTimestamp"
         variant             uint64 0
      )
      dict entry(
         string "AssertTimestampMonotonic"
         variant             uint64 0
      )
      dict entry(
         string "InvocationID"
         variant             array of bytes [
               4c 6f ff 28 3e 58 4e 6e 81 82 b3 1c 0c 83 82 3b
            ]
      )
   ]
   array [
      string "Conditions"
      string "Asserts"
   ]
signal time=1676894325.366191 sender=:1.1 -> destination=(null destination) serial=4880991 path=/org/freedesktop/systemd1/unit/dev_2ddm_5cx2d2_2edevice; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.freedesktop.systemd1.Device"
   array [
      dict entry(
         string "SysFSPath"
         variant             string "/sys/devices/virtual/block/dm-2"
      )
   ]
   array [
   ]
signal time=1676894325.366431 sender=:1.1 -> destination=(null destination) serial=4880992 path=/org/freedesktop/systemd1/unit/dev_2ddm_5cx2d2_2edevice; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.freedesktop.systemd1.Unit"
   array [
      dict entry(
         string "ActiveState"
         variant             string "active"
      )
      dict entry(
         string "SubState"
         variant             string "plugged"
      )
      dict entry(
         string "StateChangeTimestamp"
         variant             uint64 1676892339266328
      )
      dict entry(
         string "StateChangeTimestampMonotonic"
         variant             uint64 19734941
      )
      dict entry(
         string "InactiveExitTimestamp"
         variant             uint64 1676892339266328
      )
      dict entry(
         string "InactiveExitTimestampMonotonic"
         variant             uint64 19734941
      )
      dict entry(
         string "ActiveEnterTimestamp"
         variant             uint64 1676892339266328
      )
      dict entry(
         string "ActiveEnterTimestampMonotonic"
         variant             uint64 19734941
      )
      dict entry(
         string "ActiveExitTimestamp"
         variant             uint64 0
      )
      dict entry(
         string "ActiveExitTimestampMonotonic"
         variant             uint64 0
      )
      dict entry(
         string "InactiveEnterTimestamp"
         variant             uint64 0
      )
      dict entry(
         string "InactiveEnterTimestampMonotonic"
         variant             uint64 0
      )
      dict entry(
         string "Job"
         variant             struct {
               uint32 0
               object path "/"
            }
      )
      dict entry(
         string "ConditionResult"
         variant             boolean false
      )
      dict entry(
         string "AssertResult"
         variant             boolean false
      )
      dict entry(
         string "ConditionTimestamp"
         variant             uint64 0
      )
      dict entry(
         string "ConditionTimestampMonotonic"
         variant             uint64 0
      )
      dict entry(
         string "AssertTimestamp"
         variant             uint64 0
      )
      dict entry(
         string "AssertTimestampMonotonic"
         variant             uint64 0
      )
      dict entry(
         string "InvocationID"
         variant             array of bytes [
               0c b8 d1 90 42 3e 45 b6 88 f3 71 6e 66 1e 83 c5
            ]
      )
   ]
   array [
      string "Conditions"
      string "Asserts"
   ]

运行udevadm monitor给出了类似的消息流,虽然不是那么快,如下所示:

KERNEL[2188.932041] change   /devices/virtual/block/dm-2 (block)
UDEV  [2188.940914] change   /devices/virtual/block/dm-2 (block)
KERNEL[2188.945441] change   /devices/virtual/block/dm-2 (block)
UDEV  [2188.957689] change   /devices/virtual/block/dm-2 (block)
KERNEL[2188.961225] change   /devices/virtual/block/dm-2 (block)
UDEV  [2188.969813] change   /devices/virtual/block/dm-2 (block)
KERNEL[2188.974779] change   /devices/virtual/block/dm-2 (block)

dm-2显然是出于某种原因。 dm-2是我的主分区:

~$ ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 Feb 20 11:25 control
lrwxrwxrwx 1 root root       7 Feb 20 12:02 home -> ../dm-2
lrwxrwxrwx 1 root root       7 Feb 20 11:25 sda3_crypt -> ../dm-0
lrwxrwxrwx 1 root root       7 Feb 20 11:25 swap -> ../dm-1

我对 dbus 和 udev 的理解至少可以说是有限的,但是一些谷歌搜索让我看到了这篇文章,该文章建议我创建一个文件/etc/udev/rulesd/90-fixdm.rules,其中包含

ACTION=="add|change", KERNEL=="dm-*", OPTIONS:="nowatch"

这确实立即使这两个进程平静下来并恢复了我的 CPU 周期(并阻止笔记本电脑风扇持续运行)。然而,第二天笔记本电脑无法启动,挂在一个永远不会启动的“等待/dev/mapper/swap”作业上。一个惊慌失措的使用 Live-Ubuntu 棒从稍后删除文件/etc/udev/rulesd/90-fixdm.rules,我回到原点 - 笔记本电脑再次启动,但高 CPU 使用率已经dbus-daemon恢复system-udevd。

可能发生了什么变化导致了这种新行为,我该怎么做才能解决这个问题?

谢谢。

udev
  • 1 个回答
  • 23 Views
Martin Hope
dfluff
Asked: 2019-04-22 06:49:30 +0800 CST

Ubuntu 18.04 Gnome Compiz 崩溃

  • 0

上周末我从 14.04->16.04->18.04 升级到 14.04 支持结束后,在“它没有崩溃……”的方法下。

由于升级的东西一般都可以,但是一周后,我的窗口突然失去了标题栏,我无法拖动它们,调出窗口菜单,在桌面之间切换等。

我正在使用带有 Compiz 的 Gnome-Flashback 桌面。如果我使用 metacity 登录,事情会按预期工作。如果,从 metacity 桌面上的终端窗口中,我compiz --replace在加载“移动”插件后看到 compiz start 然后 core-dump。我试过删除~/.compiz 和~/.cache/compiz 等,但没有任何乐趣。

Gnome-Flashback Compiz 适用于同一台笔记本电脑上的次要用户。

如何重新初始化或以其他方式修复我的主用户帐户的 compiz?

gnome compiz 18.04 gnome-flashback
  • 1 个回答
  • 1846 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve