Ошибка java.lang.OutOfMemoryError: превышен лимит накладных расходов GC

Я использую вот так ...

<?php
$NameOriginal = $_FILES["UploadFileName"]['name'];
$Typo_Image = $_FILES["UploadFileName"]['type'];
$name_Temp = $_FILES["UploadFileName"]['tmp_name']; 
?>
732
задан Ravindra babu 24 May 2016 в 12:12
поделиться

5 ответов

Это сообщение означает, что по какой-то причине сборщик мусора занимает слишком много времени (по умолчанию 98% всего процессорного времени процесса) и восстанавливает очень мало памяти при каждом запуске ( по умолчанию 2% от кучи).

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

Чтобы ваше приложение не поглощало процессорное время без каких-либо действий, JVM выдает эту ошибку , чтобы у вас была возможность диагностировать проблему.

Я видел редкие случаи, когда это происходило, когда какой-то код создавал тонны временных объектов и тонны слабо- объекты, на которые есть ссылки, в среде с очень ограниченным объемом памяти.

Подробнее см. в этой статье (особенно в этой части ).

731
ответ дан 22 November 2019 в 21:24
поделиться

Я использую apache-tomcat-8.5.37. Я сталкиваюсь с той же ошибкой

java.lang.outofmemoryerror: gc наверху ограничивает превышенный

, я читал выше о решении, говоря

Увеличение размер "кучи", например-Xmx1g. Включите параллельному низкому коллектору паузы-XX: + UseConcMarkSweepGC. Повторное использование существующие объекты, если это возможно, для сохранения некоторой памяти. При необходимости предельная проверка может быть отключена путем добавления опции-XX:-UseGCOverheadLimit к командной строке.

это решение работало на кого-то? Совет потребности относительно устранения проблемы.

0
ответ дан Istiaque Hossain 28 July 2019 в 16:56
поделиться
  • 1
    Действительно. Как оказалось, я действительно знаю немного об объяснении для этого решения. Ваша догадка является пятном на.:) – Eric Lippert 1 October 2009 в 16:20

Решенный:
Просто добавляют
org.gradle.jvmargs=-Xmx1024m
в
gradle.properties
и если это не существует, создайте его.

0
ответ дан 22 November 2019 в 21:24
поделиться

описания размера "кучи" Java (xms, xmx, xmn)

-Xms size in bytes

Example : java -Xms32m

Наборы начальный размер "кучи" Java. Размер по умолчанию 2097152 (2 МБ). Значения должны быть кратными, и больше, чем, 1 024 байта (1 КБ). (-флаг сервера увеличивает размер по умолчанию до 32M.)

-Xmn size in bytes

Example : java -Xmx2m

Наборы начальный размер "кучи" Java для поколения Eden. Значение по умолчанию является 640K. (-флаг сервера увеличивает размер по умолчанию до 2M.)

-Xmx size in bytes

Example : java -Xmx2048m

Наборы максимальный размер, до которого может вырасти "куча" Java. Размер по умолчанию 64M. (-флаг сервера увеличивает размер по умолчанию до 128M.) Максимальный предел "кучи" составляет приблизительно 2 ГБ (2048 МБ).

аргументы памяти Java (xms, xmx, xmn) форматирование

При установке размера "кучи" Java, необходимо указать аргумент памяти с помощью одной из букв “m” или “M” для МБ, или “g” или “G” для ГБ. Ваша установка won’t работает, если Вы указываете “MB”, или Допустимые аргументы “GB.” похожи на это:

-Xms64m или-Xms64M-Xmx1g или-Xmx1G Могут также использовать 2048 МБ для определения 2 ГБ кроме того, удостоверьтесь, что Вы просто используете целые числа при определении аргументов. Используя-Xmx512m допустимая опция, но-Xmx0.5g вызовет ошибку.

Эта ссылка может быть полезной для кого-то.

1
ответ дан 22 November 2019 в 21:24
поделиться

GC выдает это исключение, когда на сборку мусора уходит слишком много времени и слишком мало возврата, например. -XX: -UseGCOverheadLimit

Подробнее здесь

РЕДАКТИРОВАТЬ: похоже, что кто-то может печатать быстрее меня :)

205
ответ дан 22 November 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: