我认为我的雷鸟陷入了无用的无限循环。
此类事情会重复发生。
strace -p PID 的输出:
recvmsg(4, {msg_name(0)=NULL, msg_iov(1)=[{"\34\0\253\30)\1 \2\375\1\0\0\4\22\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(4, 0x7ffea5151530, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4, 0x7ffea5151510, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=28, events=POLLIN}, {fd=29, events=POLLIN}, {fd=358, events=POLLIN}], 6, 0) = 0 (Timeout)
recvmsg(4, 0x7ffea5151510, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=28, events=POLLIN}, {fd=29, events=POLLIN}, {fd=358, events=POLLIN}], 6, 0) = 0 (Timeout)
recvmsg(4, 0x7ffea5151510, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=28, events=POLLIN}, {fd=29, events=POLLIN}, {fd=358, events=POLLIN}], 6, 0) = 0 (Timeout)
recvmsg(4, 0x7ffea5151510, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=28, events=POLLIN}, {fd=29, events=POLLIN}, {fd=358, events=POLLIN}], 6, 0) = 0 (Timeout)
recvmsg(4, 0x7ffea5151510, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=28, events=POLLIN}, {fd=29, events=POLLIN}, {fd=358, events=POLLIN}], 6, -1) = 1 ([{fd=29, revents=POLLIN}])
我top
可以看到,thunderbird 是唯一需要 CPU 的进程。它需要 30% 的 CPU。
我iotop
发现几乎没有任何 io 完成。
即使几分钟后,thunderbird 进程的 strace 输出仍然相同。
在雷鸟的活动列表中,我看到它尝试扫描 IMAP 文件夹中的图像。
我dmesg
没有看到任何错误。文件系统似乎没有问题。
thunderbird 进程打开了很多文件:
ls -ltr /proc/2797/fd| wc -l
116
大多数文件都是.msf 文件。
Thunderbird 反应非常慢。GUI 几乎无法使用。
这是怎么回事?我该怎么办?
运行 Ubuntu 16.04.2 LTS
这是活动列表。昨天,thunderbird 在这里挂了几个小时。重启后,情况又一样:
文件描述符 4 是一个 unix 域套接字:
root@ThinkPad-E520:~# ls -ltr /proc/3059/fd| grep ' 4 '
lrwx------ 1 guettli guettli 64 Aug 14 06:14 4 -> socket:[32096]
答案1
一位朋友告诉我,Thunderbird 有时会破坏其数据库文件。
我删除了 ~/.thunderbird 文件夹并启动了 thunderbird。然后我添加了 IMAP 帐户,现在一切又恢复正常了。
我丢失了这台电脑上所有的自定义雷鸟设置,但我只保留了其中的很少一部分。