Jvm dauert eine lange Zeit zum auflösen der ip-Adresse für localhost
Ich scheine ein problem zu haben mit der Ausführung "sbt" - test nach dem Upgrade auf macOS Sierra. Auf einer früheren version von OS X dauerte es etwa 40 bis 50 Sekunden fertig. macOS Sierra-Zeiten sind viel höher als die. Im letzten run, das ich Tat, war rund 15 Minuten. Compile-Zeiten sind etwa die gleiche wie in den 'El Capitan'.
Ich bin die einzige aus meinem team, versuchen Sie, diese neue macOS, daher kann ich nicht sagen, ob es nur passiert auf meinem mac, oder ist es ein universelles Problem.
Mein Kollege hatte ein ähnliches Problem mit Ubuntu und es wurde im Zusammenhang mit der Zufallszahl-generation, die Verlangsamung des tests - Langsam die service-Reaktionszeiten : Java SecureRandom & /dev/random
Leider, das hat nicht funktioniert für mich. Ursprünglich wollte ich, dass auf JDK 8u54 und versuchte dann Update auf JDK 8u102, und dass nicht zu helfen, wie gut.
P. S. ich bin mit Macbook Pro Mitte 2015 mit 2,8 GHz i7, 16GB ram, 1TB SSD.
gradle clean test
und habe das gleiche Problem.InformationsquelleAutor Tomasz Mikuś | 2016-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem. Tomcat ging von 15 Sekunden bis zu 6 Minuten in Anspruch spring-Kontext nach dem upgrade deaktivieren... csrutils nicht lösen das Problem für mich.
Ich gelöst das problem, indem meine Mac-Hostnamen (z.B. Macbook.lokale, oder was auch immer Ihr Mac genannt) auf die
/etc/hosts
- Datei zugeordnet, um die127.0.0.1
- Adresse sowie die::1
wie diese:Wenn Sie interessiert sind, finden Sie einige details über das Problem und die Lösung hier:
https://thoeni.io/post/macos-sierra-java/
Auf die post habe ich auch den link zu einer github-Projekt zu helfen, das Problem Problembehandlung und überprüfen die Lösung.
Sich das problem (glaube ich) auf, wie die localhost-Namensauflösung funktioniert und wie Sie die java.net.InetAddr-Klasse wird das abrufen der Adressen. Ich überprüft mit einigen Kollegen und offenbar ist es nicht geschehen, an alle, die aktualisiert Sierra, aber ich bin noch immer untersucht die Wurzeln dieser Veränderung.
Die Lösung war ja eh die gleichen, die antid0te umgesetzt und hat sofort funktioniert.
Die /etc/hosts-Lösung, die für mich gearbeitet! Danke!
das klappt perfekt. Sobald ich änderte die
/etc/hosts
die Geschwindigkeit der Ausführung von tests ging wieder normal 🙂Es gefunden! Seine nicht-mac-name.. Dessen hostname. Durch die Eingabe von "hostname" im terminal geben Sie die richtige hostname.
Noch sehen diese auf OSX 10.14.2, Jahre später. Vielen Dank für das Update.
InformationsquelleAutor thoeni
Richtige Antwort: Jvm dauert eine lange Zeit zum auflösen der ip-Adresse für localhost
Für die faulen Leute:
Ich sehe 2 verschiedene Werte für hostname vs-Sharing - > Computername, bitte klären Sie, welche zu benutzen ?
Eine bessere Lösung ist ein upgrade Ihres MacOS - @vikramvi
es ist aktuellste version 10.12.5
später habe ich per apple.stackexchange.com/questions/66611/..., um den gleichen Namen, aber noch funktioniert es nicht. Muss ich auch andere Einstellungen zu Teilen ?
InformationsquelleAutor camikiller
Ich habe das gleiche problem. Meine spring-boot-Anwendung dauert 60 Sekunden, um zu beginnen, auf der Sierra gegen 25 Sekunden auf Yosemite.
Beim Debuggen, habe ich festgestellt, dass das problem kommt von InetAddress.getLocalHost().
Ich habe meine host-Datei hinzufügen mein hostname für 127.0.0.1 und :: 1 ist, und nun die Anwendung startet so schnell wie vorher.
Warum ist dieser nicht korrekt konfiguriert, standardmäßig in MacOS? Was kann der Grund sein?
InformationsquelleAutor Antid0te
Ermöglicht z.B. die Systemeinstellungen > Sharing > Remote-Login, Ergebnisse der hostname wird automatisch eine IP-Adresse zugewiesen.
Als Menschen sehen Probleme nach dem upgrade, ist es sinnvoll anzunehmen, dass 10.12 verändert, wie der Hostnamen aufgelöst wird, D. H. mindestens mit 10.11 der hostname ist immer gelöst, während mit 10.12 es ist nur dann gelöst, wenn ein Dienst aktiviert ist in den Systemeinstellungen > Sharing (jemand mit 10.11 konnte dies bestätigen).
Ich habe 10.12.6 und für meine installation die Dinge immer noch funktionieren, wie beschrieben. Mit einem standard-Datei /etc/hosts und Dateifreigabe deaktiviert ping $(hostname) kann nicht mit einem unbekannten host error. Mit Freigabe der host-name aufgelöst wird, um meine VLAN IP. Wie für Java (8u141), Aufruf von InetAddress.getLocalHost() nimmt 5s bei Dateifreigabe deaktiviert. Mit sharing aktiviert die Ausführungszeit sinkt auf 13ms.
InformationsquelleAutor jurajw
Ich denke, es ist ein Allgemeines problem mit dem neuen OS. Ich habe ein ähnliches problem: ich habe eine web-Anwendung, die unter tomcat implementiert. Am El Capitan Start in 10 Sekunden, jetzt dauert 95 Sekunden und der client (eine Swing-basierte desktop-app) kann keine Verbindung zu es (oder zumindest es nahm viel Zeit). Ich denke, es ist etwas, um Netzwerk-Kommunikation, da ein einfaches test-console app läuft gut.
InformationsquelleAutor Andras Gyetvan
Es war ein komisches Problem nach der Installation des Updates zu
Mac Sierra 10.12 (16A323)
. In der hosts-Datei mit dem unten sortiert das Problem.Können Sie die myhostname durch Befehl
$hostname
überall im terminal.InformationsquelleAutor Sidd Gautama
Akzeptierte Antwort hat mir geholfen! Nur das hinzufügen dieser hier zu erklären, was ich denke, das Problem für mich war:
Mein Hostname wurde so etwas wie "Mein Mac", die konnte nicht aufgelöst werden. In den Einstellungen zeigte mir, dass der computer angesprochen werden könnte mit mymac.lokale
Ich dachte, es war der Raum und umbenannt meinem mac um "meine.mac", aber auch dies hat nicht geholfen, da die dns automatisch Hinzugefügt wurde noch mymac.lokale
Hinzufügen meine.mac /etc/hosts half dann.
So meine Vermutung, was das eigentliche Problem ist: Dies geschieht nur, wenn Ihr computer name enthält alles, was kein Buchstabe ist. Diese wird automatisch entfernt, indem das os und dann hostname und der dns-Eintrag nicht übereinstimmen. (kann fixiert werden meine manuell hinzufügen)
InformationsquelleAutor Arne