Причина: следующее является общим:
1. Количество данных, загруженных в памяти, слишком велик, например, сразу же снимать слишком много данных из базы данных;
2. Существуют ссылки на объекты в классе сбора, и они не очищены после использования, поэтому JVM не может быть переработана;
3. В коде или циклах есть мертвые петли, которые производят слишком много повторений;
4. Используемые ошибки в стороннем программном обеспечении;
5. Значение памяти параметра запуска установлено слишком мало;
Общие подсказки об ошибках:
1.tomcat: java.lang.outofmemoryerror: permgen space
2.tomcat: java.lang.outofmemoryerror: java huep space
3. Weblogic: основная причина Servletexception java.lang.outofmemoryerror
4.Resin: java.lang.outofmemoryerror
5. Java:java.lang.outofmemoryerror
решать:
1. Решение об ошибке, подписанном сервером приложений: установите значение памяти параметра запуска, чтобы быть достаточно большим.
2. Решения ошибки, вызванная кодом Java: сосредоточьтесь на следующих точках:
1) Проверьте, есть ли мертвые петли или рекурсивные вызовы в коде.
2) Проверьте, существует ли большой цикл, который неоднократно производит новые объекты объектов.
3) Проверьте, есть ли запрос, который получил все данные в запросе базы данных. Вообще говоря, если вы снимаете 100 000 записей в память за раз, это может вызвать переполнение памяти. Эта проблема довольно скрыта. Перед выходом в Интернет в базе данных было меньше данных, и было нелегко иметь проблемы. После выхода в Интернет в базе данных было больше данных, и один запрос может вызвать переполнение памяти. Поэтому попытайтесь использовать лицензионные запросы для запросов базы данных.
4) Проверьте, были ли объекты сбора, такие как список, карта не были очищены после использования. Объекты сбора, такие как список и карта, всегда будут иметь ссылки на объекты, что делает эти объекты неспособными быть переработанными GC.
Случай:
1. Когда сгибание данных запрашивает данные, он запрашивает слишком много данных одновременно. Позже код в этой части скорректируется, и только указанное количество данных получено за раз, успешно решающее проблему. 2. При выполнении стрессовых тестов появляется OutofmemoryError, и обнаружено, что ресурс сеанса не был выпущен. Лучше всего выпустить ресурс сеанса с помощью метода Invalidate () сеанса.
3. В программе появляется мертвая петля.
4. OutofmemoryError появляется, когда Tomcat развернут и запускается, и значение параметра памяти увеличивается для решения этой проблемы.
java.lang.outofmemoryError в Tomcat: Java Heap Space Complet
1. Размер кучи. Настройки кучи JVM См. Настройки пространства памяти, которые JVM может обеспечить во время операции программы Java. Когда JVM запустится, он автоматически установит значение размера кучи. Его начальное пространство (то есть -xMS) составляет 1/64 физической памяти, а максимальное пространство (-xmx) -1/4 физической памяти. Вы можете использовать -xmn -xms -xmx и другие параметры, предоставленные JVM, чтобы установить его. Размер размера кучи - это сумма молодого поколения и штатного рода. Совет: это сообщение об исключении будет брошено, если для GC будет использоваться 98% времени, а доступный размер кучи составляет менее 2%. Совет: максимальный размер кучи не должен превышать 80% доступной физической памяти. Как правило, установите параметры -xms и -xmx на то же самое, а -xmn -1/4 от значения -xmx.
2. Решение: вручную установите размер кучи и изменяйте Tomcat_home/bin/catalina.sh. Добавьте следующую строку в «echo» с использованием Catalina_base: $ catalina_base "": java_opts = " -server -xms800m -xmx800m -xx: maxnewsize = 256m"
java.lang.outofmemoryError: обработка исключений в пространстве пермина в Tomcat
1. Пространство пермина. Полное название пространства пермина является постоянным пространством генерации, которое относится к области постоянного хранения памяти. Этот кусок памяти в основном хранится JVM. Класс будет размещен в пространстве пермигена при его загрузке. Он отличается от области кучи, где хранится экземпляр класса (экземпляр). GC (Сборник мусора) не будет очищать пространство PertGen во время выполнения основной программы. Следовательно, если в вашем приложении много класса, очень вероятно, что ошибка пространства пермина будет произойти. Эта ошибка распространена, когда веб -сервер предварительно компилирован JSP. Если вы используете большое количество сторонних банок под вашим веб-приложением, размер превышает размер JVM по умолчанию (4M), то это сообщение об ошибке будет сгенерировано.
Решение: вручную установите размер MAXPERMSIZE и измените TOMCAT_HOME/BIN/CATALINA.SH Добавьте следующую строку в «Echo» с использованием Catalina_base: $ catalina_base "": java_opts = " -Server -xx: Permsize = 64M -xx: Maxpermize = 128M Рекомендация: Переместите и тот же третий -пленка. в достижении цели уменьшения повторного использования памяти документов JAR.
java.lang.outofmemoryerror обработка исключений в Weblogic
РАЗВИТИЯ ОШИБКА: «Корльная причина ervletexception java.lang.outofmemoryerror»
Решение: отрегулируйте параметры в Commenv в Bea/Weblogic/Common: Sun, если «%production_mode%» == "true" goto sun_prod_mode set java_vm = -client set mem_args = -xms256m -xmx512m -xx: maxpermsize = 256m set java_option : sun_prod_mode set java_vm = -server set mem_args = -xms256m -xmx512m -xx: maxpermsize = 256m goto Продолжение
java.lang.outofmemoryerror, когда Eclipse запускает JBoss: Romgen Space Exception Randling
При запуске Jboss в Eclipse, если это займет слишком много времени, иногда Java.lang.outofmemoryerror: ошибка пространства перми. Вот решение для вас:
1) нажмите на небольшую стрелку рядом со значком отладки;
2) Нажмите «Конфигурации отладки ...» Меню;
3) Выберите «JBoss v4.2 в LocalHost» под деревом «Общий сервер» слева;
4) Нажмите на вкладку «Аргументы» справа и добавьте ее в «Аргументы VM»:
-Dprogram.name = run.bat -djava.endorsed.dirs = "d:/jboss405/bin /../ lib/endorsed" -xms128m -xmx512m -xx: permsize = 64m -xx: maxpermsize = 256 м.
5) Если вы запускаете JBoss в режиме командной строки или напрямую нажмите «run.bat», вы должны изменить параметры JVM в файле bin/run.conf, найдите Java_opts = " -xms128m -xmx512m ...". Сохранить это в порядке.
6) Примечание. Числа 128, 512, 64 и 256 могут быть скорректированы в соответствии с конфигурацией вашей машины, а затем нажмите «Применить».
java.lang.outofmemoryerror обработка исключений под смолой
Причина: эта ошибка возникает потому, что физическая память JVM слишком мала. Виртуальная машина Java по умолчанию имеет максимальную память всего 64 мегабайта, что не может быть проблемой во время разработки и отладки, но она далеко не удовлетворяет потребности в фактических средах приложения, если ваше приложение не очень мало и не имеет доступа. В противном случае вы можете найти ошибку в пакете java.lang.outofmemoryError после того, как программа работает в течение определенного периода времени. Поэтому нам нужно увеличить размер памяти виртуальной машины, доступной для резервуара.
Решение: изменить опцию ARGS в /ср /локал/resin/bin/httpd.sh, чтобы добавить параметры -xms (начальная память) и -xmx (максимальный размер памяти), которые можно использовать для ограничения физической памяти JVM. Например: после настройки args = " -xms128m -xmx256m", начальная физическая память JVM составляет 128 м, а максимальная физическая память может быть использована 256 м. Эти два значения должны быть установлены системным администратором в соответствии с фактической ситуацией сервера.
Выше приведено полное содержание идеального решения проблемы обработки ошибок java.lang.outofmemoryerror, принесенной вам. Я надеюсь, что все будут поддерживать wulin.com ~