Я использую файл jar в системе Ubuntu с 16 ГБ ОЗУ.Я использовал весеннюю загрузочную среду JPA при разработке приложения.Я заметил, что использование памяти и процессора продолжает расти после запуска приложения.
Что может быть причиной постоянного увеличения использования процессора и памяти?
Какие операции выполняет приложение -> Обновить текстовый файл с помощью
File file = new File(file path);
OutputStream os = new FileOutputStream(file.getAbsoluteFile());
и операция чтения с помощью
FileInputStream inputStream = new FileInputStream(file);
InputStreamResource resource = new InputStreamResource(inputStream);
, обновляющего файл с частотой не более одной минуты.
Я попытался запустить jar, а также развернуть файл war на сервере Tomcat в обоих случаях, когда он ведет себяТо же самое.
Основная цель - создать текстовый файл с прото-буфером.Я добавил
@Scheduled(fixedDelay = 60000)
@RequestMapping(value = "/test")
public String generateProtoBuf(){
...
}
, поэтому каждую минуту этот метод будет запускать и обновлять текстовый файл.
Я выставляю другой API.
@RequestMapping(path = "/getProtoBuf", method = RequestMethod.GET)
public ResponseEntity<Resource> getProtoBuf() throws IOException {
...
}
этот API будет вызывать каждыйдважды в мин.размер файла будет меньше 1 МБ.
В первые несколько часов приложение работает нормально, но через несколько часов, когда загрузка процессора увеличивается на 15%, оно резко возрастает и достигает 100%.