Presto Master JVM Core问题调研
背景
Presto master出现jvm coredump情况,排查问题,这里记录下排查过程。
排查过程
先看下JVM Coredump日志:
| 1 | # | 
可以看到报错是显示资源不足而导致JVM Coredump了。我们需要先看下是否是内存导致的问题:
所以先看下JVM日志,如下:
| 1 | 2020-09-09T16:20:57.056+0800: 501342.858: [GC pause (G1 Evacuation Pause) (young), 0.1361232 secs] | 
可以看到GC日志是正常的,young gc后,内存占用8G左右。
之前写脚本统计下内存占用,查看了/proc/meminfo信息:
| 1 | MemTotal:       131779324 kB | 
可以看到 MemAvailable 还有50+G内存,说明当时内存是充足的。不是内存不足导致的问题。那再需要确认下是否是线程数太多导致的问题?
| 1 | [presto@prestomaster00 cluster-data]$ grep "JavaThread" hs_err_pid22120.log | wc -l | 
线程数接近3.1W,有些多,去server.log里查找是否有线程创建失败的Log,命令:
grep -C 70 “unable to create new native thread” server.log.1 | less
| 1 | java.io.IOException: Failed on local exception: java.io.IOException: Couldn't set up IO streams; Host Details : local host is: "prestomaster00/xx.xx.xx.xx"; destination host is: "datanode":8020; | 
 
                     
                    
                 
                    
                
