У меня есть приложение, которое можно разделить на следующие шаги
- Получить базу данных формы данных
- Форматирование данных
- Запись окончательного результата вfile
Ниже приведено несколько подробностей о нем и его текущем поведении
- Это приложение Java Springboot.
- Оно имеет дело с более чем 2,5 миллионамизаписывает и генерирует файл размером ~ 500 МБ
- Процесс вызывается двумя способами
- Планирование внутренней пружины
- Планирование внутренней пружины уже на месте ипроцесс вызывается автоматически в эти часы.
- Процесс завершается за 1,5 часа .В промежутке между этим для получения данных требуется более 1 часов .Остальное время используется для форматирования данных и записи файла.
- Процесс успешно завершается при каждом случае.
- Конечная точка REST
- Используется из сценария оболочки , который в свою очередь имеет вызов curl для доступа к этой конечной точке.Эта конечная точка вызывает тот же процесс, что и внутреннее планирование.
- Этот сценарий запускается пользователем, отличным от первого.
- Процесс поиска и форматирования данных работал нормально, но при этом возникают проблемы с памятью.запись в файл не всегда выполнялась.
- Различия между двумя подходами, выявленные на данный момент, следующие:
- user отличается.
- Первый выполняется как java сам процесс.В то время как второй следует за цепочкой процессов bash -> curl -> java .
Я подозреваю, что может быть какой-то пользователь и / или процессопределенное ограничение памяти, которое вызывает это противоречивое поведение.Пожалуйста, предложите.