美文网首页
Mac 启动项目变慢(记一次本机InetAddress.getL

Mac 启动项目变慢(记一次本机InetAddress.getL

作者: 抄无止境 | 来源:发表于2021-12-09 10:17 被阅读0次

    记一次本机InetAddress.getLocalHost()引起的项目启动变慢及解决过程

    起因

    某一天,项目启动突然很慢,并且连很简单的单元测试都需要1分钟的时间才开始运行;貌似是Mac升级到最新版本的:Sierra之后开始出现的。

    分析

    jstack
    jstack -l pid | more,看到每次项目都会在这个地方锁住,锁大约1分钟

    image.png
    jmap

    jmap -dump:format=b,file=xx pid,用MAT分析,可以看到这个地址就是一个简单的Object对象,没啥特别

    image.png
    debug

    debug工程,发现 java.net.InetAddress.getLocalHost 每次都会锁5秒,很多jar都会调用到这个方法,累计就让启动启动停滞了1分钟。

    具体的阻塞点是:addresses = nameService.lookupAllHostAddr(host);

    初步解决

    修改/etc/hosts,增加两行,IP地址到 hostname 对应的主机名的映射,OK了。


    image.png
    机器发生了什么? 等待原作者解决咯 😄😄

    相关文章

      网友评论

          本文标题:Mac 启动项目变慢(记一次本机InetAddress.getL

          本文链接:https://www.haomeiwen.com/subject/fxqffrtx.html