Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Проблема с постоянно растущим количеством Java-потоков на Ubuntu VPS, UniFi Network
 
Привет, я хотел перенести свой Unifi Controller с локального Windows ПК на VPS с Ubuntu 14.04. Установил пакет unifi5 и теперь постоянно сталкиваюсь с проблемой: через примерно 20 минут после запуска unifi у меня вовсе падает VPS, потому что заканчиваются доступные процессы.

Я заметил, что количество Java-потоков (считаю через ps -AL | grep java | wc -l) постоянно растёт, пока общее число процессов не достигнет максимума, разрешённого на моём VPS. После этого система уже не может создать новые процессы, возникают все известные проблемы (нельзя войти в систему, нельзя остановить unifi и так далее). Приходится полностью перезагружать сервер. Проблема не в памяти — памяти хватает, просто заканчиваются процессы.

P.S. Я подтвердил, что проблема именно в количестве процессов, посмотрев в /proc/user_beancounters: там растёт счётчик failcnt в поле numproc, как только количество процессов превышает 400 (максимальное значение для моего VPS).

У меня не запущено никаких других Java-приложений, только Unifi. Если остановить Unifi, проблема полностью исчезает.

Пробовал запускать с openjdk-7, openjdk-8 и oracle-java8 (устанавливал JAVA_HOME в /etc/default/unifi и проверял через ps), но с любым из них проблема повторяется.

Буду очень благодарен за любую помощь!  

Спасибо,  
Arnaud Gouder de Beauregard
 
Кто-нибудь успешно использовал эти настройки? Я попробовал на своём VPS, даже обновил Unifi контроллер до последней версии, но всё равно вижу сотни потоков. Вот содержимое моего файла system.properties:

inform.max_keep_alive_requests=10  
inform.num_thread=20  
is_default=false  
portal.http.port=18880  
portal.https.port=18843  
system_ip=xxxxxx  
unifi.db.port=27117  
unifi.http.port=18080  
unifi.https.port=18443  
unifi.shutdown.port=8081  
uuid=xxxxx

Если кто-то уже сталкивался с этим, буду благодарен за помощь 😀 Спасибо!
 
Да, я уже настоятельно рекомендовал парню, который занимается пакетом для моего NAS, учесть эти моменты. Если это не офисное здание, 200 потоков для устройств и 500 для базы данных явно ни к чему. То же самое касается размера кучи. Java требует много ресурсов, так что я тоже это подправил. Облачные инстансы обычно страдают от нехватки памяти.
 
Привет, большое спасибо за ответ! Похоже, это именно то, что я искал. Тем временем я уже отказался от VPS, который использовал, так что этот фикс мне теперь не нужен, но почти уверен, что именно эта настройка мне и нужна была. Очень жаль, что тогда никто из Unifi не смог мне помочь... Спасибо, Арно
 
https://help.ubnt.com/hc/en-us/articles/115005159588-UniFi-How-to-Tune-the-Controller-for-High-Number-of-UniFi-Devices#heartbeat%20missedВот что тебе нужно. В файле настроек задан пул потоков на 200, да и время keepalive слишком большое. Настраивай это с учётом количества твоих точек доступа.
 
У меня та же проблема. Всё ещё с ней сталкиваюсь. Я «решил» её регулярными перезапусками демона unify, но это не настоящее решение. Если есть какой-то другой VPS-провайдер, который работает нормально, буду рад узнать. Спасибо!
 
Столкнулся с той же проблемой: как только количество потоков достигает примерно 450, всё останавливается. Провайдер VPS говорит, что не ограничивает число потоков, но у меня нет никаких других идей. Арно, не мог бы ты написать мне в личку, какой VPS ты успешно используешь сейчас? Спасибо!
 
Привет! Я отправил запрос в Ubiquiti, и они ответили, что такой настройки не существует. Тем временем я перенёс контроллер на другой VPS, где этого ограничения нет, и он уже работает там больше недели (сейчас используется 464 потока только для Java). С уважением, Арно
Страницы: 1
Читают тему (гостей: 1)