Как исправить неконтролируемое потребление памяти Java (в javafx) помимо Xmx, MaxPermSize?
-Xmx, -XX:MaxPermSize не помогает, ОС - это Ubuntu 16.10
Сначала я выполнил свой эксперимент javafx, загрузив несколько фотографий и показав их в цикле с помощью узла canvas. Теперь я запускаю демонстрационные приложения javafx (разные) ver. jdk1.8.0_112 и jdk1.8.0_111 на соответствующих jvm. Результат тот же: через несколько минут все становится глючным и не отвечает. Если я использую ulimit -Sv
, программа аварийно завершает работу или не запускается из-за недостатка памяти.
Вот то, что я вижу сразу после запуска программы и менее чем через 2 минуты после выполнения анимации:
Странность в том, что когда я запускаю это на работе (полная системная переустановка формата не помогает), память растет бесконечно, в то время как дома эта же программа может замедляться, но работает и занимает менее 1 ГБ памяти. Дома я использую старый компьютер с процессором Intel i7 и дискретной графикой Radeon, на работе - более новый Intel i7 и встроенную графику. ОС такая же. Понятия не имею, что еще может иметь значение.