Время от времени Deluge переходит на 100% CPU без видимой причины (без активных торрентов). Если я перезагружаю его, процессор уходит примерно на 0%
Кто-нибудь еще сталкивался с этим?
Редактировать:
Lol, наконец-то решен ошибка (после некоторого расследования). Короче говоря, похоже, что это вызвано тем, что 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.
Я считаю, что это ошибка, которую разработчики Deluge обвинили в элементе управления GTK +, который они используют для отображения файлов. Короче говоря, обходной путь - просто не использовать панель файлов и не использовать опцию контекстного меню «открыть папку».
deluge-web
имеет отдельную ошибку, которая также приводит к высокой загрузке процессора, но это официально исправлено в последней версии, доступной на на их сайте .
На Deluge Forum есть более подробная информация об этой проблеме, со ссылками на отчеты об ошибках и исправленные дэбы для Natty и Maverick.
http://forum.deluge-torrent.org/viewtopic.php?p=152813#p152813