内存溢出:OOM(out of memory) 程序在申请内存时,发现内存空间已经不足。
内存泄漏:memory leak 已申请的内存,后续无法释放。
内存泄漏最终会导致内存溢出。
内存泄漏分析步骤:
1.jps 查看你启动的java服务的pid
2.使用jmap获取快照
jmap -histo:live [pid] | head -7 (获取这个pid服务的内存列表,获取前7行)
jmap -dump:live,format=b,file=file.hprof [pid] (获取file.hprof文件,用eclipse插件MAT去分析)
检查gc回收情况使用jstat
jstat -gcutil [pid] 10000