一次JVM内存泄露
之前接手一个别人刚写好的项目,丢到服务器上跑了没几天,服务器上别的服务都不能使用了。查看阿里云控制台,发现内存爆满了,只能先把这个服务先下,保证别的服务正常使用,还好是在测试阶段,还没正式上线。
对于内存泄露,一开始以为是Java I/O操作没有关闭,导致Java JVM内存泄露。但是发现项目中的I/O操作都已经把做了close操作。最后使用 jconsole 来监控本地内存的变化,发现是不断的创建线程,导致内存的不足,本地长时间跑项目出现下面的错误,这个和通过jconsole监控内存得出的结果差不多。