LINUX.ORG.RU

Постоянное зависание Virtualbox при использовании KTorrent

 , , , ,


0

2

KTorrent, запущенный в Virtualbox, постоянно вешает ВМ. На хосте такого никогда не было, зато в виртуалке он себя ведет неадекватно. Как бы определить в чем проблема?

Запускаю KTorrent, и в течении 20-30 минут все виснет.

1. Сначала выделил больше памяти виртуалке (с 2 до 4 гб) - не помогло.

2. Потом открыл системный монитор, посмотрел что дело вообще не в памяти. Она расходовалась слабо, а файл подкачки вообще не использовался. Всего 1-1.5 гб памяти из 4х. В момент зависания CPU поднимается до 100%, хотя первые 10-15 минут прыгает в диапазоне 10-40%. Потом перестаешь следить, в какой-то момент смотришь - интерфейс не отвечает, лампочка hdd постоянно светится, и 100% загрузки CPU.

3. Выделил 2 ядра для виртуалки - не помогает. В какой-то момент оба ядра под 100% и зависание.

4. Выделил 4 ядра - и все-равно не помогло.

В последний раз открыл обе вкладки системного монитора, чтобы видеть что происходит в момент зависания, а произошло вот что.

https://i.imgur.com/sUzm1RQ.png

- Почти 100% все 4 ядра CPU (общая загрузка на 85%).

- Полностью забит файл подкачки - и это при минимальном использовании оперативки.

- Многие процессы перешли в статус «в ожидании на диске».

Пока даже не знаю с чего начать.

1. Может ли это быть проблемой работы процессора в Virtualbox? Может каких-то функций надо подключить в настройках машины? Их там немного, есть какой-то PAE/NX (отключен). Влияет ли это на что-то?

2. Может ли это быть проблемой KTorrent? Какие опции в программе могут на что-то влиять?

3. Почему используется своп, если еще дофига свободной оперативки? Может ли быть зависание из-за переполнения свопа? Конечно сомнительно, чтобы это было так дебильно реализовано в Linux, но все же...

Ответ на: комментарий от Maniac_with_a_saw

Придется заводить багрепорт на Virtualbox, надеюсь быстро исправят.

Да у них постоянно какая-то фигня то с ядерным кодом, то с юзерспейсным. Уже сколько времени прошло как я бросил VirtualBox из-за всяких неприятных мелочей. Вроде можно было уже выловить. Но нет, они там всё новые и новые находятся.

Что такого в этом VirtualBox есть, чего нет в qemu-kvm + virt-manager?

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Я его всегда использую для всего, в т.ч. для проверки нового софта, настроек всяких, от которых хост может пострадать. Virtualbox максимально простой, вот и весь его секрет. Снапшоты и клонирование целых машин происходит быстро, не надо ничего знать и читать, чтобы использовать большинство функций этой системы. Конечно, что-то прочитать со временем приходится, например, как подключить USB или настроить общие папки, но это не требует много времени. В остальном, максимально юзерфрендли для любого человека. Если бы все программы были такими, то Linux давно бы победил.

Maniac_with_a_saw
() автор топика
Ответ на: комментарий от Maniac_with_a_saw

Чтобы торренты выбирать и потом скачанное потреблять, времени хватает. Чтобы с глюками VirtualBox бодаться, тоже хватает. А чтобы запустить virt-manager, не хватает.

Возможно, ты не в курсе, но у него графический интерфейс.

i-rinat ★★★★★
()
Ответ на: комментарий от Maniac_with_a_saw

NFS в любом случае придётся использовать. В virt-manager шаринг через 9p, а он работает… не самым лучшим образом.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Что такого в этом VirtualBox есть, чего нет в qemu-kvm + virt-manager?

Режимы масштабирования и интеграции дисплея же!

anonymous
()
Ответ на: комментарий от anonymous

Да, это крутые штуки. Особенно интеграция гостевых окон в дисплей хоста. Производит вау-эффект.

Мне повезло, что этими фичами я не пользовался.

i-rinat ★★★★★
()
15 июня 2020 г.

Имхо, это баг KTorrent, точнее библиотеки libKF5torrent. Имею те же проблемы безо всяких VirtualBox’ов на Kubuntu 20.04 при сидировании 400+ раздач с HDD диска. Система правда виснет не насмерть, но процесс KTorrent’а висит в статусе «disk sleep» и GUI почти не отзывается.

Проблема вот тут: https://invent.kde.org/network/libktorrent/-/blob/master/src/torrent/torrentcontrol.cpp#L245

Он каждые 5 сек пытается перезаписать файл stats в ~/.local/share/ktorrent/tor[№x]/ для каждого торрента «to satisfy people obsessed with their share ratio». И в итоге висит на вызовах KConfig::sync(). Если захардкодить 30 сек вместо 5 сек - все работает как часы. Вот думаю теперь, какой патч KDE засылать - разбираться с KConfig или вынести настройку этого таймера в KTorrent и, например, адаптивно менять ее в зав-ти от числа запущенных раздач.

Truf
()
Последнее исправление: Truf (всего исправлений: 1)
Ответ на: комментарий от Truf

Заслал фикс в master branch проектов libktorrent и KTorrent. Если кому интересно, то попробуйте собрать актуальную версию и отпишитесь, исчезла ли проблема.

Truf
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.