我有一个部署在数字海洋上的Spring Boot应用程序,我的当前droplet(虚拟PC,命名为droplet)有1GB内存。
我的应用程序有一些cron作业,可以从一些API获取信息并将其存储在数据库中,我将解释一下:
@Scheduled(cron = "50 0 0/12 * * ?")
^ 这个操作会从表格中清除一些数值。
@Scheduled(cron = "50 0 0/1 * * ?")
^ 这个与前面的表格相同,只是针对另一个表格。
@Scheduled(cron = "0 0/1 * * * ?")
有两个这样的程序,从API获取信息,进行一些数学计算,然后将结果存储在数据库中。
从监测工具中可以看到,我的内存使用率从未下降,总是有一点点增长。
它始于大约5个小时前的40%使用率,现在为75%。
有什么方法可以清理内存使用情况吗?也许需要进行垃圾回收?
顺便说一下,我正在使用mysql。
谢谢。
-- 编辑
我刚刚运行了visualvm,结果如下:
看起来垃圾回收确实正在运行,那么问题出在哪里?也许我需要在Digital Ocean设置最大堆大小?