Skip to content

Изменить память - Справка FineReport | Разработка отчетов | Отчеты | Учебные пособия

Изменение памяти

1. Обзор

FineBI - это чистая платформа BI-аналитики, поддерживающая развертывание на серверах с помощью серверов веб-приложений и облачных серверов предприятия.

Поэтому к серверам предъявляются определенные требования по конфигурации, и существует риск простоя, если серверы не подходят для использования в BI.

FineBI необходимо изменить используемую память и другие параметры после развертывания, чтобы обеспечить стабильную работу сервера.

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

2. Введение в память

2.1 Классификация содержания

Физическая память, используемая FineBI, делится на Heap-память и непосредственную физическую память.

Настоятельно рекомендуется, чтобы физическая машина/облачный хост имели не менее 16 ГБ памяти. Слишком малый объем физической памяти серьезно повлияет на производительность вычислений FineBI и стабильность системы.

2.png

Требование к физической памяти BIMax, используемой FineBI: BIMax = Xmx + MaxDirectMemorySize + FineIO + Other. Для стабильности хоста BIMax <= Память сервера пользователя * 7/8.

Предлагаемые элементы конфигурации, связанные с памятью, которые следует изменить, включают:

Параметры конфигурации памятиинструкциирекомендуемое значение
XmxУкажите максимальный размер памяти кучи JavaОн устанавливает верхний предел кучи, и когда размер кучи достигнет этого значения, JVM прекратит выделение новой памяти и запустит сборку мусора.Рекомендация:8 ГБ <= Xmx < 32 ГБ или40 ГБ <= Xmx <= 64 ГБПримечание: < 8 Гб риск простоя, 32 Гб ~ 40 Гб вызывают проблемы с производительностью, > 64 Гб плохой производительностиПользователи могут просмотреть рекомендуемый размер "памяти в куче" (значение Xmx) в Health Patrol.
XmsУкажите начальный размер памяти кучи JavaОн задает начальный размер кучи, и JVM выделяет память такого размера во время загрузки.Рекомендация Xms = Xmx
MaxDirectMemorySizeПамять NIO вне кучи, определяющая максимальный размер Direct Memory. Direct Memory не ограничена размером кучи Java и выделяется непосредственно через локальную память, а не в куче Java.Рекомендуется 4 ГБМаксимальное значение не ограничено, но необходимо учитывать размер памяти пользовательского сервера, FineBI использует память (BIMax) <= память пользовательского сервера * 7/8
Dfineio.read_mem_limitпамять для чтения fineIOРекомендуемый 2 ГБ
Dfineio.write_mem_limitПамять для записи в режиме fineIOРекомендуется 1 ГБ

2.2 Явление переполнения памяти

  • Шаблон предварительного просмотра раз выдает ошибку переполнения памяти: java.lang.OutOfMemoryError:Java heap space
  • Фоновое сообщение Tomcat Память превысила пороговое значение
  • Ошибка: накладные расходы gc
  • Ошибка: переполнение памяти
  • Чрезмерное использование памяти
  • Медленное время отклика и отставание после длительного пребывания в проекте
  • дашборд предварительного просмотра часто оказывается в очереди
  • Напряжение на сервере

3. Измените память проекта под Tomcat

3.1 Linux

1) Выключите сервер Tomcat.

2) Перейдите вкаталог%Tomcat_HOME%\bin. Найдите файл с именемsetenv.sh.Если файл не существует, создайте новыйфайлsetenv.sh.

Примечание: Убедитесь, что файл setenv.sh имеет исполняемые права. Если он не имеет исполняемых прав, вы можете установить их с помощью следующей команды: chmod +x setenv.sh

3) Откройте файл setenv.sh с помощью текстового редактора.Добавьте/измените следующие строки в файле, чтобы установить его:

java_opts="$JAVA_OPTS -Xms8192m -Xmx8192m"

JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=2g"

Java_OPTS="$JAVA_OPTS -Dfineio.read_mem_limit=2"

Java_OPTS="$JAVA_OPTS -Dfineio.write_mem_limit=1"

4) Сохраните и закройте файл setenv.sh.

5) Перезапустите сервер Tomcat, чтобы изменения вступили в силу.

3.2 Windows

1) Выключите сервер Tomcat.

2)Перейдите вкаталог%Tomcat_HOME%\bin. Найдите файл с именемsetenv.bat.Если файл не существует, создайте новыйфайлsetenv.bat.

3) Откройте файл setenv.bat с помощью текстового редактора.Добавьте в файл следующие строки для настройки:

set JAVA_OPTS=%JAVA_OPTS% -Xms8192m -Xmx8192m

set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=4g

set JAVA_OPTS=%JAVA_OPTS% -Dfineio.read_mem_limit=2

set JAVA_OPTS=%JAVA_OPTS% -Dfineio.write_mem_limit=1

4) Сохраните и закройте файл setenv.bat.

5) Перезапустите сервер Tomcat, чтобы изменения вступили в силу.

4. изменение параметров памяти проекта прямого развертывания

Если проект развертывается непосредственно в операционной системе, размер памяти можно изменить непосредственно в конфигурационном файле в каталоге %FineBI%/bin.

4.1 Linux/Windows

1) Закройте проект FineBI.

2) Перейдите вкаталог%FineBI_HOME%\bin.Найдите файл с именемfinebi.vmoptions.

3) Откройтефайлfinebi.vmoptions с помощью текстового редактораи добавьте/измените следующие строки:

-Xms8192m

-Xmx8192m

-XX:MaxDirectMemorySize=4g

-Dfineio.read_mem_limit=2

-Dfineio.write_mem_limit=1

4) Сохраните и закройте файл.Перезапустите проект FineBI, чтобы он вступил в силу.

4.2 Мак

1) Закройте конструктор.

2) Перейдите в каталог %FR_HOME%\bin, щелкните правой кнопкой мыши на designer.app и выберите "Показать содержимое пакета".

3) Откройте файл Content/vmoptions.txt и добавьте/измените следующие строки:

-Xms8192m

-Xmx8192m

-XX:MaxDirectMemorySize=4g

-Dfineio.read_mem_limit=2

-Dfineio.write_mem_limit=1

4) Сохраните и закройте файл. Перезапустите проект FineBI, чтобы он вступил в силу.

5. измените память проекта в разделе weblogic.

5.1 Linux

1) Перейдите в каталог bin домена WebLogic (Domain). Найдите файл setDomainEnv.sh.

2) Откройте файл setDomainEnv.sh с помощью текстового редактора. Добавьте в файл следующую строку для установки:

MEM_ARGS="-Xms8g -Xmx8g -XX:MaxPermSize=4g -XX:MaxDirectMemorySize=4g"

MEM_ARGS="-Djava.awt.headless=true -Dfineio.read_mem_limit=2 -Dfineio.write_mem_limit=1"

3) Сохраните и закройте файл setDomainEnv.sh

4) Перезапустите WebLogic Server, чтобы изменения вступили в силу.

5.2 Windows

1) Перейдите в каталог bin домена WebLogic (Domain). Найдите файл setDomainEnv.cmd.

2) Откройте файл setDomainEnv.cmd с помощью текстового редактора. Добавьте в файл следующую строку, чтобы установить его:

set MEM_ARGS=-Xms8g -Xmx8g -XX:MaxPermSize=4g -XX:MaxDirectMemorySize=4g

set MEM_ARGS=-Djava.awt.headless=true -Dfineio.read_mem_limit=2 -Dfineio.write_mem_limit=1

3) Сохраните и закройте файл setDomainEnv.cmd

4) Перезапустите WebLogic Server, чтобы изменения вступили в силу.

6. Измените память проекта в разделе WebSphere.

1) Войдите в WebSphere Management Console, используя учетные данные администратора.

2) На панели навигации нажмите "Сервер > Тип сервера > WebSphere Application Server".

3) Выберите имя приложения, которое необходимо изменить, и нажмите "Инфраструктура сервера > Управление Java и процессами > Определение процессов".

4) Нажмите "Виртуальная машина Java", чтобы изменить начальный размер кучи и максимальный размер кучи.

5) В разделе "Общие параметры JVM" можно изменять и добавлять некоторые параметры JVM.

-Xss1024k

-XX:MaxDirectMemorySize=4096m

-Dfineio.read_mem_limit=2

-Dfineio.write_mem_limit=1

6) После завершения изменений нажмите "Применить", чтобы сохранить изменения в конфигурации сервера.

7) Перезапустите сервер WebSphere, чтобы изменения вступили в силу.

7. модификация памяти проекта под WildFly

1) Откройте каталог установки Wildfly и перейдите в каталог файлов конфигурации Wildfly. В Wildfly 10 и более поздних версиях эта директория находится по адресу standalone/configuration.

2) Найдите файл standalone.conf (Linux) или standalone.conf.bat (Windows) и откройте его с помощью текстового редактора.

3) В открывшемся файле вы можете найти раздел о настройках JVM. В переменной JAVA_OPTS вы можете задать параметры памяти JVM.