Оформление
Изменить память - Справка FineReport | Разработка отчетов | Отчеты | Учебные пособия
Изменение памяти
1. Обзор
FineBI - это чистая платформа BI-аналитики, поддерживающая развертывание на серверах с помощью серверов веб-приложений и облачных серверов предприятия.
Поэтому к серверам предъявляются определенные требования по конфигурации, и существует риск простоя, если серверы не подходят для использования в BI.
FineBI необходимо изменить используемую память и другие параметры после развертывания, чтобы обеспечить стабильную работу сервера.
Примечание: В этой статье описано, как изменить память, для других параметров обратитесь к разделу Проверка виртуальной машины Java.
2. Введение в память
2.1 Классификация содержания
Физическая память, используемая FineBI, делится на Heap-память и непосредственную физическую память.
Настоятельно рекомендуется, чтобы физическая машина/облачный хост имели не менее 16 ГБ памяти. Слишком малый объем физической памяти серьезно повлияет на производительность вычислений FineBI и стабильность системы.

Требование к физической памяти 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.
