Зелене Мишко 7 найбільш поширених помилок при установці обмежень пам’яті java

Щоб установити тривалість купи java (heap) використовуються дві опції: -Xmx для установки максимального розміру і -Xms для початкового (мінімального) розміру. Ось найбільш часто зустрічаються помилки їх використання:

1. Відсутність m, M, g або G в кінці (реєстр не має значення). наприклад:


Правильна команда повинна бути такою:
. Строго кажучи, -Xmx128 коректна настройка для дуже маленьких додатків (наприклад HelloWorld), але я думаю в більшості випадків все-таки малося на увазі -Xmx128m.

2. Зайвий пропуск або використання =. наприклад:

Правильна команда повинна мати вигляд
. без пробілу або знаку =. -X опції поводяться відмінно від -Dключ = значення опцій, в яких використовується =.

3. Установка тільки -Xms в значення більше ніж максимальний розмір купи за замовчуванням (64m). Схоже що мінімальний розмір купи за замовчуванням дорівнює 0.
приклад:

Коректна команда повинна виглядати так:
. Встановити мінімальний і максимальний розмір рівними - хороша ідея. У будь-якому випадку, мінімальне значення не повинно перевищувати максимальну.

4. Встановлення розміру купи більшого ніж обсяг фізичної пам 'яті. приклад:

Встановлюйте розмір купи менше ніж розмір фізичної пам'яті:

5. Використання mb в якості одиниці вимірювання, замість m або M.

6. Установка розміру купи в більшого значення, ніж дозволяє JVM. приклад:

Вкажіть розмір трохи менше:

7. Вказівка ​​дрібного чиста як значення. приклад:

Правильна команда повинна виглядати так:

Як встановити розмір купи (heap) в Tomcat?

Зупиніть сервер Tomcat, встановіть змінну середовища CATALINA_OPTS, потім запустіть Tomcat знову. Дивіться файли tomcat-install / bin / catalina.sh або catalina.bat щоб дізнатися як використовується ця змінна оточення.

приклади:
(Windows, значення не в лапках)
(Ksh / bash, значення в лапках)
(Tcsh / csh, значення в лапках)

Як встановити розмір купи в JBoss?

Зупиніть Jboss, відредагуйте значення в файлі $ JBOSS_HOME / bin / run.conf, запустіть сервер. Ви можете змінити (або додати якщо її там немає) значення змінної JAVA_OPTS наприклад на таке: JAVA_OPTS = "- server -Xms128m -Xmx128m"

Як встановити розмір купи в Eclipse?

Запускайте Eclispe з ключем "-vmargs <ваши опции>". Всі опції після -vmargs будуть інтерпретовані як опції JVM.
приклад:

Це встановить опції для Eclipse, але не для додатка яке Ви розробляєте в eclipse. Для того щоб поміняти опції додатки, використовуйте Run As -> Open Run Dialog -> (x) = Arguments -> VM Arguments

Як встановити розмір купи в NetBeans?

Закрийте NetBeans, відредагуйте файл netbeans-install / etc / netbeans.conf. приклад:

Як встановити розмір купи в Apache Ant?

Встановіть змінну середовища ANT_OPTS. приклади:
(Windows)
(Ksh / bash)
(Tcsh / csh)

Як встановити розмір купи в JavaEE SDK / J2EE SDK / Glassfish / Sun Java System Application Server?

Зупиніть сервер додатків, відкрийте $ GLASSFISH_HOME / domains / domain1 / config / domain.xml, знайдіть там XML елемент з ім'ям java-config -> jvm-options. приклад:

Ще один спосіб - використання cli комманди. Дивіться довідку: