洪水 100% CPU

洪水 100% CPU

有时 Deluge 会毫无原因地达到 100% CPU(没有活动的种子)。如果我重新启动它,CPU 会降到 0% 左右

还有其他人遇到过这种情况吗?


编辑:

哈哈,终于解决了这个错误(经过一番调查)。简而言之,它似乎是由于 Deluge 在主循环中使用 twisted.internet.run() 而不是 gtk.main(),然后使用 twisted.internet.run() 造成的调用 gobject.threads_init()它会在内部设置一个 SIGCHLD 处理程序,最终归结为PyGtk 中的错误解决的是此补丁

diff --git a/gtk/gtk.override b/gtk/gtk.override
index 75018f4..94309a6 100644
--- a/gtk/gtk.override
+++ b/gtk/gtk.override
@@ -1151,9 +1151,10 @@ pygtk_main_watch_check(GSource *source)
 #ifdef HAVE_PYSIGNAL_SETWAKEUPFD
     PySignalWatchSource *real_source = (PySignalWatchSource *)source;
     GPollFD *poll_fd = &real_source->fd;
-    int data_size = 0;
+    unsigned char dummy;
+    gssize ret;
     if (poll_fd->revents & G_IO_IN)
-        data_size = read(poll_fd->fd, 0, 1);
+        ret = read(poll_fd->fd, &dummy, 1);
 #endif
     state = pyg_gil_state_ensure();

现在 Deluge 运行良好,而且我知道这个补丁也修复了其他使用 PyGtk 的程序中的类似错误。

答案1

我相信这是 Deluge 开发人员归咎于他们用于显示文件的 GTK+ 控件的一个错误。简而言之,解决方法就是不使用文件窗格,也不使用“打开文件夹”上下文菜单选项。

deluge-web有一个单独的错误,也会导致 CPU 过高,但这已在最新版本中得到官方修复。他们的网站

答案2

Deluge 论坛上有关于此问题的更多详细信息,其中包括错误报告链接以及针对 Natty 和 Maverick 的修补 deb。

http://forum.deluge-torrent.org/viewtopic.php?p=152813#p152813

相关内容