Spring Boot启动卡主分析
小于 1 分钟JVM运维
现象
- Docker环境部署Spring Boot应用,启动很慢,一直卡主,启动完成大概需要十多分钟,其他环境并未出现该问题
排查
使用jps
命令查看进程PID,jps
使用jstck 20
命令查看线程执行情况。
重复执行几次,发现一直卡在这里,查看代码,发现会从域名服务器解析域名从而获取本机IP导致卡主。
public native InetAddress[] lookupAllHostAddr(String hostname) throws UnknownHostException;
猜测是这个过程导致线程卡主,直接在hosts文件添加映射,重启后问题得以解决。