我正在具有16 GB RAM的ubuntu系统上运行jar文件。我在开发应用程序时使用了spring boot framework,JPA。 我观察到,在应用程序启动后,内存和cpu的使用持续增加。 导致一致性增加CPU使用率和内存的可能原因是什么?
应用程序在做什么操作-> 使用
更新文本文件 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 MB。
在最初的几个小时内,应用程序正常运行,但在几小时后,如果cpu使用率增加了15%,它将急剧增加并达到100%。