升级到 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 Mid-2015 2.8GHz i7、16GB 内存、1TB SSD。
原文由 Tomasz Mikuś 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有同样的问题。 Tomcat 在升级后从 15 秒到 6 分钟来初始化 spring 上下文…禁用 csrutils 并没有解决我的问题。
我 通过 在映射到
127.0.0.1
地址的/etc/hosts
文件以及::1
像这样:如果您有兴趣,可以在此处找到有关该问题和解决方案的一些详细信息: https ://thoeni.io/post/macos-sierra-java/
在帖子中,我还链接到一个 github 项目 以帮助解决问题和验证解决方案。
问题与(我相信)本地主机名称解析的工作方式以及 java.net.InetAddr 类如何检索地址有关。我与少数同事进行了验证,显然并不是所有升级到 Sierra 的人都会遇到这种情况,但我仍在调查这种变化的根源。
无论如何,解决方案与 antid0te 实施并立即起作用的解决方案相同。