Jvm はローカルホストの IP アドレスを解決するのに時間がかかります 質問する

Jvm はローカルホストの IP アドレスを解決するのに時間がかかります 質問する

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 RAM、1TB SSDを使用しています。

ベストアンサー1

私も同じ問題を抱えていました。アップグレード後、Tomcat が Spring コンテキストを初期化するのにかかる時間が 15 秒から 6 分に増えました... csrutils を無効にしても問題は解決しませんでした。

解決済み問題を解決するには、アドレス/etc/hostsにマップされたファイルに Mac のホスト名 (Macbook.local など、Mac の名前) を追加します。127.0.0.1::1

127.0.0.1   localhost mbpro.local
::1         localhost mbpro.local

ご興味があれば、問題と解決策の詳細をここで確認できます:https://thoeni.io/post/macos-sierra-java/

この投稿では、githubプロジェクト問題のトラブルシューティングと解決策の検証に役立ちます。

この問題は、localhost の名前解決の仕組みと java.net.InetAddr クラスがアドレスを取得する方法に関係している (と私は考えています)。数人の同僚に確認したところ、どうやら Sierra にアップグレードしたすべての人に発生するわけではないようですが、この変更の根本原因はまだ調査中です。

解決策はとにかく同じでした解毒剤すぐに実装して動作しました。

おすすめ記事