Как увеличить память кучи для задачи SCDF во время запуска в базе данных путем передачи свойства среды или свойства развертывания

Я использую task-launcher-sink 1.3.1.RELEASE Version и SDCF Version 1.4.0.RELEASE для запуска задачи на PCF. Кучи, выделенной по умолчанию для моей задачи, недостаточно для ее запуска, так как моя задача обрабатывает данные большего размера. Таким образом, выдается ошибка выделения кучи, Событие исчерпания ресурсов: JVM не удалось выделить память из кучи.

Я могу запустить свою задачу, указав JAVA_OPTS=-Xms128m -Xmx512m в MyTask>Setting>Переменные среды, предоставляемые пользователем вручную на PCF. Но поскольку я использую приемник задач, этот параметр предоставляется как переменная среды или параметр развертывания.

Ниже приведены журналы, которые я получаю:

2019-04-26T11:32:35.522+05:30 [APP/TASK/MyTask/0] [OUT] Использование памяти:

2019-04-26T11:32:35.523+05:30 [APP/TASK/MyTask/0] [OUT] Куча памяти: init 16777216, использовано 108648024, зафиксировано 344653824, макс. 344653824

2019-04-26T11:32:35.524+05:30 [APP/TASK/MyTask/0] [OUT] Подсказка: память кучи заполнена более чем на 95%. Чтобы увеличить его, увеличьте размер контейнера.

2019-04-26T11:32:35.526+05:30 [APP/TASK/MyTask/0] [OUT] Память без кучи: init 2555904, использовано 103426448, зафиксировано 105512960, макс. 631562240

2019-04-26T11:32:35.527+05:30 [APP/TASK/MyTask/0] [OUT] Использование пула памяти:

2019-04-26T11:32:35.528+05:30 [APP/TASK/MyTask/0] [OUT] Кэш кода: инициализация 2555904, использовано 18623104, зафиксировано 18743296, макс. 251658240

2019-04-26T11:32:35.529+05:30 [APP/TASK/MyTask/0] [OUT] Метапространство: инициализация 0, используется 75305304, зафиксировано 76939264, макс. 194146304

2019-04-26T11:32:35.530+05:30 [APP/TASK/MyTask/0] [OUT] Пространство сжатого класса: init 0, использовано 9498136, зафиксировано 9830400, макс. 185757696

2019-04-26T11:32:35.531+05:30 [APP/TASK/MyTask/0] [OUT] Eden Space: init 4521984, использовано 3132632, зафиксировано 95092736, макс. 95092736

2019-04-26T11:32:35.533+05:30 [APP/TASK/MyTask/0] [OUT] Survivor Space: init 524288, использовано 0, зафиксировано 11862016, макс. 11862016

2019-04-26T11:32:35.534+05:30 [APP/TASK/MyTask/0] [OUT] Tenured Gen: инициализация 11206656, использовано 105515392, зафиксировано 237699072, макс. 237699072

2019-04-26T11:32:35.534+05:30 [APP/TASK/MyTask/0] [ERR] jvmkill убивает текущий процесс

2019-04-26T11:32:35.534+05:30 [ПРИЛОЖЕНИЕ/ТАСК/MyTask/0] [ВЫХОД] 2019-04-26 06:02:35


person Rosh    schedule 15.05.2019    source источник
comment
Это все еще не решено. Любое предложение?   -  person Rosh    schedule 23.05.2019


Ответы (1)


Вы должны передать параметры -Xms128m -Xmx512m как свойство развертывания TaskLaunchRequest:

deployer.{app}.cloudfoundry.javaOpts=-Xms128m -Xmx512m

где {app} обозначает имя вашего приложения SCDF Task, т. е. идентификатор, указанный в определении вашей команды оболочки task create SCDF (не путать с именем приложения PCF).

Кроме того, при необходимости вы сможете контролировать общий объем памяти, доступный приложению PCF (насколько позволяет квота), добавив еще одно свойство развертывания:

deployer.{app}.cloudfoundry.memory=1g

Обратите внимание, что я обнаружил это, изучив и отладив код запуска задач. Документация могла бы быть немного яснее в этом отношении.

person Stefan Reisner    schedule 11.09.2019