В Java-куче недостаточно памяти ТОЛЬКО НА КОНКРЕТНОМ КОМПЬЮТЕРЕ - PullRequest
0 голосов
/ 29 мая 2018

Прежде чем мы начнем, потому что ответ кажется очевидным, у рассматриваемой машины максимальное пространство кучи установлено на 8 ГБ, тогда как на других машинах, способных его использовать, оно составляет 1 ГБ, так что это не проблема максимального размера кучи.Хорошо, давайте углубимся.

Я занимаюсь симуляцией трафика для школьного проекта, и из-за нехватки времени мы разработали множество «быстрых и грязных» решений, которые привели к тому, что мы не оптимизировали использование памяти должным образом.За последние две недели мы потратили время на профилирование нашей программы, выявление утечек памяти и снижение точности, чтобы увеличить общий объем используемой памяти до 500 МБ (согласно JProfiler).

Проблема в том, что только некоторые ноутбуки способны выполнять симуляцию.Мой ноутбук (16 ГБ ОЗУ, процессор i7) не способен запустить сим.Конечно, первое, что я сделал, - это постепенно увеличивал максимальное пространство кучи JVM до 8 ГБ.Дело в том, что, согласно JProfiler, мы максимизируем около 1 ГБ памяти после компиляции, а затем снижаемся до устойчивых 500 МБ на протяжении всей симки.

Все члены группы используют одну и ту же версию Java (9) ита же версия SDK.Мы даже пытались работать в разных версиях Java, но безрезультатно.Я работаю над самой последней версией и неоднократно проверял, что мы запускаем одну и ту же программу с точно такими же настройками в точно такой же среде , но по какой-то причине только у моего компьютера возникают проблемы с пространством кучи.

Есть ли кто-нибудь, кто знает, что здесь может быть не так?Я переустанавливал JVM безрезультатно, и отслеживая свой компьютер во время компиляции, я не вижу, чтобы в любой момент времени использовалось более 2-3 ГБ, поэтому я, очевидно, не использую все 8 ГБ пространства кучи, которое я предоставляювиртуальная машина.Кажется, что-то серьезно не так, и любая помощь будет принята с благодарностью!

...