udevd 占用太多 CPU 周期

udevd 占用太多 CPU 周期

它的 CPU 使用率约为 64%,但这只是因为rsyslog正在采取几乎其余的(努力跟上)。

我收到以下类型的消息/var/log/syslog

Jun  5 23:59:38 vab rsyslogd-2177: imuxsock begins to drop messages from pid 1187 due to rate-limiting
Jun  5 23:59:44 vab rsyslogd-2177: imuxsock lost 62566 messages from pid 1187 due to rate-limiting
Jun  5 23:59:44 vab udevd[1187]: unable to receive ctrl connection: Function not implemented
Jun  5 23:59:44  udevd[1187]: last message repeated 199 times
Jun  5 23:59:44 vab rsyslogd-2177: imuxsock begins to drop messages from pid 1187 due to rate-limiting
Jun  5 23:59:50 vab rsyslogd-2177: imuxsock lost 62568 messages from pid 1187 due to rate-limiting
Jun  5 23:59:50 vab udevd[1187]: unable to receive ctrl connection: Function not implemented
Jun  5 23:59:50  udevd[1187]: last message repeated 199 times

我还注意到他们中的很多人都开始了:

$ pidof udevd 
1891 1890 1887 1885 1884 1881 1879 1877 1875 1873 1871 1869 1868 1865 1864 1861 1860 1857 1746 1744 1742 1740 1738 1736 1734 1732 1413 1318 1304 1209 1205 1202 1187

只有最后一个, process 1187,是贪婪的。

另外,我收到了一大堆以下消息:

$ strace -p 1187
SYS_366(0x3, 0, 0, 0x80800, 0x80800)    = -1 ENOSYS (Function not implemented)
gettimeofday({1370469763, 718315}, NULL) = 0
send(11, "<27>Jun  6 00:02:43 udevd[1187]:"..., 93, MSG_NOSIGNAL) = 93
epoll_wait(0xa, 0x7eb99ed0, 0x8, 0xbb8) = 1
SYS_366(0x3, 0, 0, 0x80800, 0x80800)    = -1 ENOSYS (Function not implemented)
gettimeofday({1370469763, 719617}, NULL) = 0
send(11, "<27>Jun  6 00:02:43 udevd[1187]:"..., 93, MSG_NOSIGNAL) = 93
epoll_wait(0xa, 0x7eb99ed0, 0x8, 0xbb8) = 1

当我运行时,这个问题得到了解决sudo service udev restart,但该命令必须在每次重新启动后运行。


这是最新的 Ubuntu 12.04 (udev位于175-0ubuntu9.3),但是运行2.6.35自定义内核(不要问)。

答案1

但运行 2.6.35 自定义内核

看起来您的内核构建已损坏(或未启用) select4(2),如此处所述热插拔开发错误报告

答案2

正如评论和作者中提到的@msw SYS_366 (接受4),定义如下unistd.h

#define __NR_accept4    (__NR_SYSCALL_BASE+366)

ENOSYS

accept4如果重启后出现就觉得奇怪了udev

我猜你可以比较一下输出

sudo lsof -P -T -p <PID>

重新启动之前和之后。

真的一样吗:

/sbin/udevd
/lib/XXX-linux-gnu/libc-x.xx.so

之前和之后等

答案3

事后看来,我应该提到我在 ARM 上遇到了这个问题。系统调用已添加到2.6.36。我申请了补丁,并且有效!

相关内容