Sepertinya saya mengalami masalah dengan kinerja "uji sbt" (yang mencakup mencari nama / alamat IP localhost) setelah memutakhirkan ke macOS Sierra. Pada versi OS X sebelumnya, butuh waktu sekitar 40-50 detik untuk menyelesaikannya. Waktu macOS Sierra jauh lebih tinggi dari itu. Lari terakhir yang saya lakukan adalah sekitar 15 menit. Waktu kompilasi hampir sama dengan di 'El Capitan'.
Saya satu-satunya dari tim saya yang mencoba macOS baru ini, jadi saya tidak tahu apakah ini hanya terjadi di mac saya atau apakah ini masalah universal.
Rekan saya memiliki masalah serupa di Ubuntu dan itu terkait dengan pembuatan nomor acak yang memperlambat pengujian - Waktu respons layanan lambat: Java SecureRandom & / dev / random
Sayangnya, itu tidak berhasil untuk saya. Awalnya saya mencobanya di JDK 8u54 dan kemudian mencoba memperbarui ke JDK 8u102 dan itu tidak membantu juga.
PS Saya menjalankan Macbook Pro Mid-2015 2.8GHz i7, 16GB ram, 1TB SSD.
gradle clean test
dan mengalami masalah yang sama.Jawaban:
Saya memiliki masalah yang sama. Tomcat beralih dari 15 detik menjadi 6 menit untuk menginisialisasi konteks pegas setelah peningkatan ... menonaktifkan csrutils tidak menyelesaikan masalah bagi saya.
Saya memecahkan masalah dengan menambahkan nama host Mac saya (yaitu Macbook.local, atau apa pun nama Mac Anda) pada
/etc/hosts
file yang dipetakan ke127.0.0.1
alamat dan juga::1
seperti ini:Jika Anda tertarik, Anda dapat menemukan beberapa detail tentang masalah dan solusinya di sini: https://thoeni.io/post/macos-sierra-java/
Di posting saya juga menautkan ke proyek github untuk membantu memecahkan masalah dan memvalidasi solusinya.
Masalahnya terkait (saya percaya) tentang bagaimana resolusi nama localhost bekerja dan bagaimana kelas java.net.InetAddr mengambil alamat. Saya memverifikasi dengan beberapa kolega dan tampaknya itu tidak terjadi pada semua orang yang meningkatkan ke Sierra, tetapi saya masih menyelidiki akar dari perubahan ini.
Solusinya tetap sama dengan antid0te yang diterapkan dan segera bekerja.
sumber
localhost
ke jalur loopback IPv4 dan IPv6 (127.0.0.1
,::1
) masih memperbaiki perbaikan!Jawaban yang benar: Jvm membutuhkan waktu lama untuk menyelesaikan alamat ip untuk localhost
Untuk orang malas:
sumber
/etc/hosts
file Anda secara manual dan tambahkan 2 hostSaya memiliki masalah yang sama. Aplikasi boot musim semi saya membutuhkan waktu 60 detik untuk memulai di Sierra dibandingkan 25 detik di Yosemite.
Saat men-debug, saya menyadari bahwa masalahnya berasal dari InetAddress.getLocalHost (). Saya mengubah file host saya untuk menambahkan nama host saya untuk 127.0.0.1 dan :: 1 dan sekarang aplikasi dimulai secepat sebelumnya.
sumber
Mengaktifkan misalnya System Preferences> Sharing> Remote Login, mengakibatkan nama host secara otomatis diberi alamat IP.
Karena orang-orang melihat masalah setelah peningkatan, masuk akal untuk mengasumsikan bahwa 10.12 mengubah cara nama host diselesaikan, yaitu setidaknya dengan 10.11 nama host selalu diselesaikan, sedangkan dengan 10.12 itu diselesaikan hanya jika layanan diaktifkan di Preferensi Sistem> Berbagi (seseorang dengan 10.11 dapat mengonfirmasi ini).
sumber
Saya pikir ini adalah masalah umum dengan OS baru. Saya memiliki masalah yang sama: Saya memiliki aplikasi web yang digunakan untuk kucing jantan. Di El Capitan itu dimulai dalam 10 detik, sekarang dibutuhkan 95 detik dan klien (aplikasi desktop berbasis Swing) tidak dapat terhubung dengannya (atau setidaknya butuh banyak waktu). Saya pikir itu adalah sesuatu di sekitar komunikasi jaringan, karena aplikasi konsol pengujian sederhana berjalan dengan baik.
sumber
Itu adalah masalah yang aneh setelah menginstal pembaruan ke
Mac Sierra 10.12 (16A323)
. Dalam file hosts dengan di bawah ini diurutkan masalah.Anda bisa mendapatkan myhostname dengan perintah
$hostname
di mana saja di terminal.sumber
Jawaban yang diterima membantu saya! Hanya menambahkan ini di sini untuk menjelaskan apa yang menurut saya masalah bagi saya adalah:
Nama Host saya adalah sesuatu seperti "Mac Saya" yang tidak dapat diselesaikan. Dalam pengaturan itu menunjukkan kepada saya bahwa komputer dapat diatasi dengan mymac.local
Saya pikir itu adalah ruang dan mengganti nama mac saya menjadi "my.mac" tetapi bahkan ini tidak membantu karena dns yang ditambahkan secara otomatis masih mymac.local
Menambahkan my.mac ke / etc / hosts membantu.
Jadi tebakan saya apa masalah sebenarnya adalah: Ini hanya terjadi ketika nama komputer Anda mengandung sesuatu yang bukan huruf. Ini secara otomatis dihapus oleh os dan kemudian nama host dan entri dns tidak cocok. (yang dapat diperbaiki saya menambahkannya secara manual)
sumber
Saya mengalami masalah yang sama di Mac saya.
Ketika saya mengubah nama host utama dan Bonjour saya menjadi hanya berisi karakter alfanumerik, ini menyelesaikan masalah. Ide tersebut datang dari seorang rekan yang pernah membaca saran tersebut di suatu tempat ketika dia menghadapi masalah yang sama (dia tidak dapat mengingat di mana).
Mengambil inspirasi dari panduan ini, inilah langkah-langkah yang saya ikuti:
Pertama, ubah nama host utama
misalnya:
Selanjutnya ganti hostname Bonjour (untuk kelengkapannya saya tidak pernah coba tanpa langkah ini jadi bisa jadi tidak diperlukan).
misalnya:
Sekarang mulai ulang proses java yang bermasalah, dan semoga proses tersebut tidak lagi macet.
Di samping catatan, ini juga memecahkan masalah lain yang saya miliki di mana tab baru di Terminal tidak akan memulai bash di direktori yang sama terlepas dari preferensi saya. Saya tidak memiliki penjelasan mengapa itu terjadi, tetapi saya sangat senang.
sumber