升级到macOS Sierra之后,“ sbt测试”(包括查找本地主机名称/ IP地址)的性能似乎出现问题。在OS X的早期版本中,大约需要40-50秒才能完成。macOS Sierra时间远不止于此。我上次跑步大约是15分钟。编译时间与“ El Capitan”上的时间大致相同。
我是团队中唯一尝试使用此新macOS的人,因此我无法确定它是否仅在我的Mac上发生,还是普遍存在。
我的同事在Ubuntu上也有类似的问题,这与生成随机数有关,这减慢了测试的速度- 服务响应速度慢:Java SecureRandom和/ dev / random
不幸的是,这对我没有用。最初,我在JDK 8u54上进行了尝试,然后尝试更新至JDK 8u102,但这样做也没有帮助。
PS我正在运行Macbook Pro 2015年中的2.8GHz i7、16GB内存,1TB SSD。
我有同样的问题。升级后,Tomcat从15秒缩短到6分钟以初始化spring上下文…禁用csrutils不能为我解决问题。
我通过在/etc/hosts映射到该127.0.0.1地址的文件上添加我的Mac主机名(即Macbook.local或你的Mac称呼)来解决该问题,::1如下所示:
/etc/hosts
127.0.0.1
::1
127.0.0.1 localhost mbpro.local ::1 localhost mbpro.local
如果你有兴趣,可以在这里找到有关该问题和解决方案的一些详细信息:https : //thoeni.io/post/macos-sierra-java/
在帖子中,我还链接到github项目,以帮助解决问题和验证解决方案。
问题(我相信)与本地名称解析的工作方式以及java.net.InetAddr类如何获取地址有关。我与几个同事进行了核实,显然升级到Sierra的每个人都不会遇到这种情况,但是我仍在调查这种变化的根源。
无论如何,解决方案与antid0te实施并立即生效的相同。