Исправление: сервер minecraft не мог зарезервировать достаточно места

Общие настройки

max_connections=64 — устанавливаем параметр минимальным возможным при необходимости экономить ресурсы сервера, при возникновении в логе записей вида «Too many connections…» увеличиваем значение. Не следует изменять значение этого параметра на старте. 4000 клиентов является максимумом. Можно довести максимальное количество клиентов до 7000, но для стандартных сборок 4000 является пределом.

open_files_limit = 2048 Устанавливать значение стоит опираясь на существующее количество открытых файлов MySQL:

В конфигурационном файле задается большее значение.

connect_timeout (MySQL pre-5.1.23: default 5, MySQL 5.1.23+: default 10) — количество секунд по прошествии которых сервер баз данных будет выдавать ошибку, при активном веб-сервере значение можно уменьшать чтобы увеличить скорость работы, на медленной машине — можно увеличивать. max_connect_errors (default 10) — максимальное количество единовременных соединений с сервером баз данных с хоста запрос блокируется если он прерывается запросами с того же хоста до момента окончания обработки запроса) блокируются навсегда, очистить можно только из командной оболочки MySQL:

В случае атаки на сервер нужно уменьшать (5) чтобы отсекать попытки соединения, при большой активности веб-сервера можно увеличивать max_allowed_packet (default 1M) — максимальный для буфера соединений и буфера результата при исполнении SQL инструкций. Каждый тред имеет свой буфер. Хорошим значением для начала будет 16М. tmp_table_size (system-specific default) — максимальный размер памяти выделяемой под хранение временных таблиц. 16М — довольно много.

Примеры готовых конфигураций для разных объёмов памяти можно посмотреть здесь.

Чтобы посомореть значения переменных можно воспользоваться SQL запросом:

или для конкретных переменных:

Чтобы проверить мониториг InnoDB, используте:

Чтобы узнать, не свопается ли память, используйте команду и смотрите строку swap:

ТЕСТЫ или ГОТОВЫЕ примеры

Приведу различные тесты на разных ОС.

Ubuntu

Среда тестирования имеет такие характеристики:

ОС : Ubuntu 13 (64 битная) (Под управлением VirtualBox)
RAM : 4Гб оперативной памяти
CPU : 1 x Процессор
JDK : 1.7

Выполним команду для отображения необходимой информации:

$ java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'

Для JVM выделено следующие значения по умолчанию:

Java heap size
InitialHeapSize = 64781184 байт (61.7 Мб) и MaxHeapSize = 1038090240 байт (990Мб).

PermGen Size
PermSize = 21757952 байт (20.75 Мб), MaxPermSize = 174063616 байт (166 Мб)

Thread Stack Size
ThreadStackSize = 1024 кб (1 Мб)

Выделенный размер кучи (heap memory size) довольно близок к результатам эргономики.

#ergonomics algorithmInitial heap size = 4096M/64 = 64 МбMaximum heap size = 4096M/4 = 1024 Мб

Mac OS X

Среда тестирования имеет такие характеристики:

ОС : Mac OSX 10.9
RAM : 8 Гб оперативной памяти
CPU : 4 x Поцессор
JDK : 1.7

Запускаем команду чтобы проверить:

$ java -XX:+PrintFlagsFinal -version | grep -iE 'heapsize|permsize|threadstacksize'

Узнать размер Java Heap Memory Size в macOS X

Для JVM выделено следующие значения по умолчанию:

Java heap size
InitialHeapSize = 20655360 байт (19.69M) и MaxHeapSize = 331350016 bytes (316 Мб).

PermGen Size
PermSize = 21757952 байт (20.75 Мб), MaxPermSize = 85983232 байт (82 Мб).

Java Stack Size
ThreadStackSize = 1024 Кб (1 Мб)

Выделенный размер кучи памяти (heap memory size) не имеют никакого значения, если сравнить со следующий результат по алгоритму эргономики.

#ergonomics algorithm Initial heap size = 8192M/64 = 128 МбMaximum heap size = 8192M/4 = 2048 Мб

Windows
Grep нет в Windows, вместо этого, мы используем Findstr.

Среда тестирования имеет такие характеристики:

ОС : Windows 8
RAM : 16 Гб
CPU : 8 x процессор
JDK : 1.7

C:\>java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"

Узнать размер Java Heap Memory Size в windows

Для JVM в Windows ОС выделено следующие значения по умолчанию:

Java heap size
InitialHeapSize = 266634176 байт (256 Мб) и MaxHeapSize = 4266146816 байт (4068 Мб).

PermGen Size
PermSize = 21757952 байт (20.75 Мб), MaxPermSize = 85983232 bytes (823 Мб).

Java Stack Size
ThreadStackSize = 0 kilobytes. (weird…)

Выделенный размер кучи памяти почти такой же как и по алгоритму эргономика:

#ergonomics algorithm Initial heap size = 16384/64 = 256 Мб Maximum heap size = 16384/4 = 4096 Мб

More Java memory-related command line arguments

You can find more options for controlling Java application memory use by looking at the output of the command. Here’s what the output of those commands looks like from my JVM:

$ java -X

-Xmixed           mixed mode execution (default)
-Xint             interpreted mode execution only
-Xbootclasspath:  set search path for bootstrap classes and resources -Xbootclasspath/a:                   append to end of bootstrap class path -Xbootclasspath/p:                   prepend in front of bootstrap class path -Xnoclassgc       disable class garbage collection -Xloggc:    log GC status to a file with time stamps
-Xbatch           disable background compilation
-Xms              set initial Java heap size
-Xmx              set maximum Java heap size
-Xss              set java thread stack size
-Xprof            output cpu profiling data
-Xfuture          enable strictest checks, anticipating future default
-Xrs              reduce use of OS signals by Java/VM (see documentation)
-Xdock:name=      override default application name displayed in dock -Xdock:icon=                   override default icon displayed in dock -Xcheck:jni       perform additional checks for JNI functions -Xshare:off	      do not attempt to use shared class data -Xshare:auto      use shared class data if possible (default) -Xshare:on	      require using shared class data, otherwise fail.  The -X options are non-standard and subject to change without notice. 

From that list, the command-line arguments specifically related to Java application memory use are:

-Xnoclassgc   disable class garbage collection
-Xms          set initial Java heap size
-Xmx          set maximum Java heap size
-Xss          set java thread stack size

Предлагаемые для Java Memory

Ниже, я привел мою рекомендацию (параметры) для малой и средней нагрузки приложений Java

Heap = -Xms512m -Xmx1024m
PermGen = -XX:PermSize=64m -XX:MaxPermSize=128m
Thread = -Xss512k

P.S: Для большинства проектов Java, 512k памяти для потока (thread) более чем достаточно.

$ java -XX:+PrintFlagsFinal -Xms512m -Xmx1024m -Xss512k -XX:PermSize=64m -XX:MaxPermSize=128m
-version | grep -iE 'HeapSize|PermSize|ThreadStackSize'

оптимаьные значения для Java Heap Memory Size

Часто задаваемые вопросы.

какая -version?
Избегайте жалоб от компилятора Java, заменить «-version» с вашим именем приложения Java.

$ java -XX:+PrintFlagsFinal {your-java-program} | grep HeapSize

Что это -XX:+PrintCommandLineFlags?
Это -XX:+PrintCommandLineFlags  используется для вывода значения,только для изменения VM  (обозначается так: = символ).

FAQ Maximum Java Heap Space on 32 and 64 bit JVM

Here is a list of some confusions I have seen on Java programmers regarding
maximum heap space of 32 and 64 bit Java Virtual Machines :

  1. What is the maximum heap
    size for 32 bit JVM?2GB or 4GB?
  2. Why my JVM not able to
    start on windows when maximum heap space around 1600M?
  3. Why Linux or Solaris
    allow more maximum heap size than windows for same, 32 bit JVM?
  4. Can we set more than
    4GB as maximum heap size for 32 bit JVM running on 64 bit or x64 operating system?
  5. What is maximum heap
    size for 64 bit or x64 JVM, Is it 8GB or 16GB?
  6. Can I specify more
    than 1GB as heap space if physical memory is less than 1GB?

If you also have similar confusion on JVM maximum heap space no
matter whether it’s for your own Java application or any Java web or application server like Tomcat, JBoss or WebLogic, This discussion applies to all of them.

What is
maximum heap size for 32 bit JVM?2GB or
4GB?

This confusion comes because of a sign bit, many programmers think in terms
of signed integer and they think maximum addressable memory (size of address
bus) for 32-bit architecture is 2^32-1 or 2GB
and this confusion is supported by fact that you can not provide maximum
heap space as 2GB on a windows machine. But this is wrong. Memory is nothing to
do with a signed or unsigned bit as there is no negative memory address. So the theoretical limit for maximum heap size on 32 bit JVM is 4GB and for 64 bit JVM
it’s 2^64.

Why JVM
not able to start on Windows XP when maximum heap space around 1600M?

This problem is most obvious on Windows platforms like Windows XP, which
tries to allocate a contiguous chunk of memory as requested by -Xmx JVM parameters. Windows
reserves some space for his own and seems also allocate memory around half of memory address bar, which consequently reduces contiguous memory space
somewhere less than 2GB, around 1500 to 1600M and when you give more than this
size, JVM throws an error as.

Could not create the Java virtual machine.

Invalid initial heap size: -Xms1.5G

Remember, this limit on heap space is due to the Windows operating system’s
own behavior. You can set maximum heap space, more than this size in Linux or
Solaris. Though maximum heap size for 32 bit or 64 bit JVM will always be less
than the theoretical limit of addressable memory. By the way, you can get this error
due to many reasons, see How to fix Invalid Initial and Maximum heap size in JVM for more details.

Why Linux
or Solaris allow more maximum heap size than windows for same, 32 bit JVM?

This point is also related to the second. Though there could be multiple reasons for that I think It could be
because of Windows trying to allocate a contiguous chunk of memory as Java heap
space. Happy to hear your opinion on this.

Can we
set more than 4GB as maximum heap size for 32 bit JVM running on 64 bit or x64
operating system?

This is a tricky question as you are
running 32 bit JVM on the x64 server. In my opinion, you can set up to 4GB for 32 bit
JVM but not more than that. Though x64 Servers has more memory for his needs
and since every process can have up to 2^64 bit it may
look perfectly OK for 32 bit JVM to accept 4GB
as maximum heap size
. In practice, I have tried both Linux and Solaris
servers setting the maximum heap size as 4G but it didn’t accept. Solaris goes closer to 4GB by allowing up to 3.6G (approx).

What is
maximum heap size for 64 bit or x64 JVM, Is it 8GB or 16GB?

This question mostly arises because of available physical memory on the machine. As no system currently have 2^64 bit of
physical memory or RAM and often high-end servers have memory around 8G, 16GB or
32GB. Theoretical maximum memory for x64 machines is 2^64 bit but again it depends on how much your operating systems allow. I read somewhere
that Windows allowed a maximum of 32GB for 64 bit JVM.

Can I
specify more than 1GB as heap space if physical memory is less than 1GB?

Theoretically yes, because the operating systems can use virtual memory and
swap pages between physical memory and virtual memory when there is no room in
physical memory. Practically, if you are running on windows then it depends on how
far you can go, I have run Java program with -Xmx1124M even though
my machine has less than 1GB RAM.

That’s all on what is maximum Java heap space for 32 bit and 64 bit
JVM
. As you see maximum heap size depends upon the host operating system. Solaris and Linux provide more heap space than windows and that could be one
of the many reasons that Java Server application mostly runs on UNIX based
systems. Let me know what’s your thought and experienceon maximum Java heap space forx86 and x64 JVM running on both x86 and x64
machines.

Other Java JVM Tutorials from Javarevisited Blog

Обзор памяти Java

Краткий обзор структуры памяти Java:

1. Java Heap Size
Место для хранения объектов, созданных приложением Java, это где Garbage Collection берет память для приложений Java. Для «тяжелого процесса Java», недостаточный размер кучи вызовет популярную ошибку: java.lang.OutOfMemoryError: Java heap space.

-Xms<size> — Установить начальный размер Java куча «Java heap size»
-Xmx<size> — Установить максимальный размер Java куча «Java heap size»

$ java -Xms512m -Xmx1024m JavaApp

2. Размер Perm Gen (Perm Gen Size).
Место для хранения определение загруженного класса и метаданных. Если большой кодовый, базовый проект загружен, имеет недостаточный размер Perm Gen size то это вызовит ошибку: Java.Lang.OutOfMemoryError: PermGen.

-XX:PermSize<size> — Установить начальный размер для параметра «PermGen Size».
-XX:MaxPermSize<size> — Установить максимальный размер для параметра «PermGen Size».

$ java -XX:PermSize=64m -XX:MaxPermSize=128m JavaApp

3. Размер java стека «Java Stack Size»
Размер java нитей (Size of a Java thread). Если проект имеет много обработки нитей, попробуйте уменьшить этот размер стека, чтобы избежать нехватки памяти.

-Xss = Установить  размер стека Java (java thread stack size).

$ java -Xss512k JavaApp

ЗАМЕТКА 
Значение по умолчанию для heap size, perm gen, или stack size отличаются от различных JVM. Лучшие практически всегда определить собственные значение для сервера.

Рекомендации

  1. Oracle Memory Management Технический документ
  2. Oracle представляет постоянное поколение
  3. Эргономика в виртуальной машине Java 5.0
  4. Структура памяти JVM
  5. Heroku: проблемы с памятью Java
  6. StackOverflow: что такое «PermSize» в Java?
  7. StackOverflow: java.lang.OutOfMemoryError: пространство PermGen
  8. Объяснение java.lang.OutOfMemoryError: пространство PermGen
  9. JBoss OutOfMemoryExceptions
  10. Параметры Java HotSpot VM
  11. -XX: + PrintFlagsFinal
  12. Полезные флаги JVM — часть 3 (печать всех флагов XX и их значений)
  13. Проверка параметров JSM в HotSpot
  14. OpenJDK — глобальный исходный код

Размер кучи завивка поколения

Узнайте свой объем памяти кучи Java

0.00 (0%) votes

IDEA сообщает об ошибке Не удалось зарезервировать достаточно места для обработки кучи объекта размером xxxxKB

s http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>tyle=»clear:both;»>

Когда IDEA разрабатывает проект Android, при запуске он сообщает об ошибке.

Error:Android Gradle Build Target: org.gradle.tooling.GradleConnectionException: Could not execute build using Gradle installation ‘C:\Users\musarona.gradle\wrapper\dists\gradle-2.14.1-all\8bnwg5hd3w55iofp58khbp6yv\gradle-2.14.1’.

Error:Failed to complete Gradle execution.

Cause: Unable to start the daemon process. This problem might be caused by incorrect configuration of the daemon. For example, an unrecognized jvm option is used. Please refer to the user guide chapter on the daemon at https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html

Please read the following process output to find out more:

Error occurred during initialization of VM Could not reserve enough space for 1572864KB object heap

Основная идея этой ошибки заключается в том, что IDEA не может выделить пространство памяти для виртуальной машины. Чтобы решить эту проблему, нужно изменить конфигурацию памяти в файле idea.exe.vmoptions.

-XX:ReservedCodeCacheSize=240m

Изменить на

-XX:ReservedCodeCacheSize=480m

Если у вас все еще есть проблемы, вы можете настроить другие параметры в idea.exe.vmoptions

-Xmx512m

-XX:MaxHeapSize=512m

Хорошо. Edit, на следующий день проект не работает, поэтому я сообщу об этой ошибке.

Настроить кучу в компиляторе на 2G не получится.

недоумевает. Думайте об этом как об ошибке, сообщаемой в gradle. Gradle должен иметь конфигурацию, которая должна занимать память. Когда я открыл его, я был шокирован: jvm-память gradle по умолчанию составляет 1536 м, что соответствует 1572864 КБ в сообщении об ошибке. Затем сделайте его меньше, измените его на 512 м, перезапустите компиляцию и передайте его один раз.

Мой проект — это игровой проект, но принцип тот же, за исключением того, что тот, который меняет gradle, становится тем, который меняет sbt.

Интеллектуальная рекомендация

19.03.21 Я загрузил комплексные обучающие видеоуроки Photoshop CC 2015 и обучающие видеоуроки по новым функциям PS CC 2015. Я просмотрел несколько видео, но мне кажется, что они в основном объясняют н…

проверка данных весеннего mvc Два способа проверки данных Spring MVC: 1.JSR303 2.Hibernate Validator Второй метод является дополнением к первому методу Шаги для проверки данных с использованием Hibern…

Существует два способа вызова между сервисами Springcloud: RestTemplate и Feign. Здесь мы представляем сервисы вызова RestTemplate. 1. Что такое RestTemplate RestTemplate — это структура веб-запросов …

1. Понимать предварительный, средний, последующий порядок и иерархическую последовательность бинарных деревьев; Свяжите язык C со структурой данных двоичного дерева; Освойте с…

Вам также может понравиться

Последнее обучение, как использовать Kaldi, чтобы проснуться без использования WSTF, поэтому вам нужно глубоко пойти в Kaldi для обучения. Временное состояние обучения. Три изображения представляют со…

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

Расширенные статьи серии Zookeeper 1. NIO, ZAB соглашение, 2PC представления концепции 2. Лидер выборов 3. Рукописный распределенный замок, центр настройки ==================================== 1. NIO,…

Посмотрите на конечный эффект первым DemoPreview.gif SETP1 эффект капли воды Первая реакция на эффект капли воды — нарисовать замкнутую кривую. С помощью события MotionEvent измените радиус во время п…

Размер Кучи

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

Давайте посмотрим, каков максимальный размер кучи в разных средах и как мы можем установить ограничения.

3.1. Максимальный Размер Кучи

Максимальный теоретический предел кучи для 32-разрядной и 64-разрядной JVM легко определить, посмотрев на доступное пространство памяти: 2^32 (4 ГБ) для 32-разрядной JVM и 2^64 (16 экзабайт) для 64-разрядной JVM.

На практике, из-за различных ограничений, предел может быть намного ниже и варьируется в зависимости от операционной системы. Например, в 32-разрядных системах Windows максимальный размер кучи составляет от 1,4 ГБ до 1,6 ГБ . В отличие от этого, в 32-разрядных системах Linux максимальный размер кучи может достигать 3 ГБ.

По этой причине если приложению требуется большая куча, мы должны использовать 64-разрядную JVM

Однако при большой куче у сборщика мусора будет больше работы, поэтому важно найти хороший баланс между размером кучи и производительностью

3.2. Как Контролировать Ограничения Размера Кучи?

У нас есть два варианта управления ограничениями размера кучи JVM.

Во-первых, используя параметры командной строки Java | при каждой инициализации JVM:

-Xms    Sets initial Java heap size. This value must be a multiple of 1024 and greater than 1 MB.
-Xmx    Sets maximum Java heap size. This value must be a multiple of 1024 and greater than 2 MB.
-Xmn    Sets the initial and maximum size (in bytes) of the heap for the young generation.

Для значения размера мы можем добавить букву k или K , m или M и g или G , чтобы указать килобайты, мегабайты и гигабайты соответственно. Если буква не указана, используется единица измерения по умолчанию (байт).

-Xmn2g
-Xmn2048m
-Xmn2097152k
-Xmn2147483648

Во-вторых, используя переменную среды JAVA_OPTS для глобальной настройки параметров командной строки Java. Благодаря этому каждая инициализация JVM в системе будет автоматически использовать конфигурации, заданные в переменной среды.

JAVA_OPTS="-Xms256m -Xmx512m"

Для получения дополнительной информации ознакомьтесь с нашим полным руководством по параметрам JVM.

Разрешение :

  • Увеличьте размер кучи. Чтобы увеличить размер кучи,
  • goto -> jboss-eap-6.2 \ bin \ standalone.conf.bat или jboss-eap-6.2 \ bin \ standalone.conf
  • изменить -> JAVA_OPTS = «- Xms256m -Xmx512m -XX: MaxPermSize = 256m», где -Xms — минимальный размер кучи, а -Xmx — максимальный размер кучи.
  • Обычно не рекомендуется иметь одинаковый размер для min и max.

  • Если вы запускаете свое приложение из eclipse,

  • Дважды щелкните сервер
  • выберите «открыть конфигурацию запуска», вы будете перенаправлены в окно «Изменить свойства конфигурации запуска».
  • В этом окне перейдите на вкладку ‘(x) = Аргументы’.
  • В аргументах виртуальной машины определите размер кучи, как указано ниже.
  • «-Dprogram.name = JBossTools: JBoss EAP 6.1+ Runtime Server» -server -Xms256m -Xmx512m -XX: MaxPermSize = 256m -Dorg.jboss.resolver.warning = true

Цитата из справочника по командной строке Oracle: «Для лучшей производительности установите -Xms на тот же размер, что и максимальный размер кучи, например: java -Xgcprio:throughput -Xmx:64m -Xms:64m myApp’

Я недавно столкнулся с этой проблемой. У меня есть 3 Java-приложения, которые начинаются с размера кучи 1024 м или 1280 м. Java проверяет доступное пространство в свопе, и если доступной памяти недостаточно, jvm завершает работу.

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

Я работал на x86-64 linux с 64-битным jvm.

У меня было правильное количество настроек памяти, но для меня использовался 64-битный intellij с 32-битным jvm. Как только я переключился на 64-битную виртуальную машину, ошибка исчезла.

Откройте файл gradle.properties в папке android.

Замените эту строку:

с участием:

Объяснение: Максимальный предел из документа Gradle:

Если в запрошенной среде сборки не указан максимальный размер кучи, демон будет использовать до 512 МБ кучи.

Предполагая, что у вас достаточно свободной памяти и вы правильно настроили аргументы JVM, у вас может возникнуть проблема фрагментации памяти. Проверьте максимальный объем памяти Java в Windows XP.

Если вы используете 32-битную JVM, изменение размера кучи на меньший, вероятно, поможет. Вы можете сделать это, передав аргументы в java напрямую или через переменные среды, например, следующие:

Для 64-битной JVM больший размер кучи, например должно сработать.

Бегать или , для Java7, чтобы проверить, какую версию вы используете.

В любом случае, вот как это исправить: перейдите в Пуск-> Панель управления-> Система-> Дополнительно (вкладка) -> Переменные среды-> Системные переменные-> Новое: Имя переменной: _JAVA_OPTIONS Значение переменной: -Xmx512M

ИЛИ

Измените зов муравья, как показано ниже.

У меня это сработало.

Произошла ошибка при инициализации виртуальной машины. Не удалось зарезервировать достаточно места для кучи объектов 1572864 КБ.

Я изменил значение памяти в файле settings.grade с 1536 до 512, и это помогло

Перейдите в Пуск-> Панель управления-> Система-> Дополнительно (вкладка) -> Переменные среды-> Системные переменные-> Создать:

Установка этого параметра глобально ограничивает размер кучи, которую вы можете передать IntelliJ.

Если вы запускаете java-программу: — запустите свою программу в терминале, используя правильную команду для Linux, это будет ‘java -jar myprogram.jar’ и добавьте -Xms256m -Xmx512m, например: ‘java -jar myprogram.jar Xms256m -Xmx512m ‘

Если вы используете сценарий .sh (linux, mac?) Или сценарий .bat (windows), откройте сценарий и найдите параметры java, если они есть, и увеличьте объем памяти.

Если все вышеперечисленное не работает, проверьте свои процессы (ctrl + alt + delete в Windows) (ps aux в linux / mac) и завершите процессы, которые используют выделенную память и не являются необходимыми для вашей операционной системы! => Попробуйте повторно запустить вашу программу.

В CASSANDRA_HOME / bin / cassandra.bat вы найдете следующую конфигурацию

Вы можете уменьшить 2G до меньшего числа, например, 1G или даже меньше, и он должен работать.

То же самое, если вы работаете в системе Unix, измените соответствующим образом файл .sh.

У меня такая же ошибка, и она разрешилась, когда я удалил временные файлы с помощью% temp% и перезапустил eclipse.

Иногда это относится как

Если вы установите его на:

Он должен работать.

Заменить с участием или любой больший объем памяти в файле cassandra.bat в каталоге bin cassandra.

Не нужно ничего делать, просто измените файл POM, как показано ниже

2 Кто что сказал про файл POM?

Tweet
Share
Link
Plus
Send
Send
Pin

Further Reading

  • http://royvanrijn.com/blog/2018/05/java-and-docker-memory-limits
  • https://blog.csanchez.org/2017/05/31/running-a-jvm-in-a-container-without-getting-killed/
  • https://bugs.openjdk.java.net/browse/JDK-8186315
  • https://bugs.openjdk.java.net/browse/JDK-8189497
  • https://docs.openshift.com/container-platform/3.9/dev_guide/application_memory_sizing.html
  • https://jaxenter.com/better-containerized-jvms-jdk-10-140593.html
  • https://jaxenter.com/nobody-puts-java-container-139373.html
  • https://stackoverflow.com/questions/39717077/how-do-i-start-a-jvm-with-unlimited-memory
  • https://www.reddit.com/r/java/comments/8jkt6h/java_and_docker_the_limitations/?st=jh82hof9&sh=5f385f3d

How we Tested

Tests were run with Azul JDK 8 and OpenJDK 10 on a 32 GB MacBook Pro (15-inch, 2018).

$ use-java10JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home$ java -versionopenjdk version "10.0.2" 2018-07-17OpenJDK Runtime Environment 18.3 (build 10.0.2+13)OpenJDK 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)$ use-java8JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home$ java -versionopenjdk version "1.8.0_181"OpenJDK Runtime Environment (Zulu 8.31.0.1-macosx) (build 1.8.0_181-b02)OpenJDK 64-Bit Server VM (Zulu 8.31.0.1-macosx) (build 25.181-b02, mixed mode)

Results may depend on JVM versions and vendors.

Please read the following process output to find out more:

Error occurred during initialization of VM Could not reserve enough space for 1572864KB object heap

Основная идея этой ошибки заключается в том, что IDEA не может выделить пространство памяти для виртуальной машины. Чтобы решить эту проблему, нужно изменить конфигурацию памяти в файле idea.exe.vmoptions.

-XX:ReservedCodeCacheSize=240m

Изменить на

-XX:ReservedCodeCacheSize=480m

Если у вас все еще есть проблемы, вы можете настроить другие параметры в idea.exe.vmoptions

-Xmx512m

-XX:MaxHeapSize=512m

Хорошо. Edit, на следующий день проект не работает, поэтому я сообщу об этой ошибке.

Настроить кучу в компиляторе на 2G не получится.

недоумевает. Думайте об этом как об ошибке, сообщаемой в gradle. Gradle должен иметь конфигурацию, которая должна занимать память. Когда я открыл его, я был шокирован: jvm-память gradle по умолчанию составляет 1536 м, что соответствует 1572864 КБ в сообщении об ошибке. Затем сделайте его меньше, измените его на 512 м, перезапустите компиляцию и передайте его один раз.

Мой проект — это игровой проект, но принцип тот же, за исключением того, что тот, который меняет gradle, становится тем, который меняет sbt.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: