Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 67240|Jawab: 2

[Sumber] Kesalahan JAVA terjadi selama inisialisasi kesalahan VM

[Salin tautan]
Diposting pada 14/08/2017 16.49.22 | | | |
Terjadi kesalahan selama inisialisasi VM
Tidak dapat mencadangkan ruang yang cukup untuk tumpukan objek 3145728KB



Baru-baru ini mengerjakan program untuk Java. Awalnya, saya selalu menyukai manajemen memori Java, tidak perlu khawatir mengalokasikan memori, cukup alokasikan, pengumpul sampah akan merebut kembali memori untuk Anda. Sekarang program ini dikembangkan dengan sejumlah besar data, dan demi kecepatan, saya akan memuat semua informasi ke dalam memori, yang akan memastikan respons yang cepat. Saya masih berulang kali menghitung memori, memikirkan jumlah data saya sendiri, yang seharusnya cukup di awal (mesin saya memiliki memori 4G, meskipun Windows mengenali 3.5G, tetapi seharusnya baik-baik saja dibandingkan dengan volume data saya saat ini).

Tanpa diduga, program percobaan pertama berjalan selama beberapa jam dan menemukan Pengecualian Memori Kehabisan Memori. Melihat pengaturan VM saya sendiri, saya mengatur -Xms512M -Xmx1024M. Tanpa memikirkannya, saya langsung mengubahnya menjadi -Xms512M -Xmx2048M, dan hasilnya adalah saya tidak dapat memesan cukup ruang untuk tumpukan objek. Program tidak bisa bangun. Baru kemudian saya menyadari bahwa masih ada batasan memori maksimum aslinya. Saya mencari di Internet dan menemukan banyak artikel yang membahas masalah ini. Akhirnya, saya menemukan artikel yang paling berguna di forum DEV2DEV BEA

Di sini moderator YuLimin melakukan tes dan sampai pada kesimpulan:

Versi JVM perusahaan Memori maksimum (mega) klien Memori maksimum (mega) server

MATAHARI 1.5.x 1492 1520

MINGGU 1.5.5 (Linux) 2634 2660

MINGGU 1.4.2 1564 1564

SUN 1.4.2 (Linux) 1900 1260

IBM 1.4.2 (Linux) 2047 N / A

BEA JRockit 1.5 (U3) 1909 1902

Saya menggunakan JDK1.6.0_05 sekarang, mengujinya. Hal terbesar dalam status klien adalah JDK saya tidak mengenali parameter -Server dan tidak dapat menguji status server. Perkiraannya hampir sama.

MINGGU 1.6.0 1442 N/A

Tampaknya tidak mungkin menggunakan memori besar di Java. Dan pepatah umum adalah bahwa jika ingatannya terlalu besar, waktu pengumpulan sampah akan lama. Hal ini juga bisa dimengerti, umumnya dikumpulkan ketika memori tidak cukup, pemindaian memori 2G tentu saja jauh lebih lambat daripada 1G, dan ada lebih banyak objek memori, perkiraan hubungan meningkat secara eksponensial.

Terlampir di bawah ini adalah metode pengujian dan catatan pengujian YuLimin.

Metode pengujian:Uji dengan perintah java -XmxXXXXM -version di bawah baris perintah, dan kemudian secara bertahap meningkatkan nilai XXXX, jika dijalankan secara normal, itu berarti ukuran memori yang ditentukan tersedia, jika tidak, pesan kesalahan akan dicetak.





Uji memori maksimum yang didukung dari JVM, lalu atur variabel lingkungan pada sistem

Nama variabel: _JAVA_OPTIONS
Nilai: - Xmx1G






Mantan:plugin layar penuh jQuery "jQuery Fullscreen Plugin" digunakan
Depan:Perbedaan antara sertifikat SSL, OV, DV, dan EV
 Tuan tanah| Diposting pada 14/08/2017 16.51.30 |
Versi Java "1.8.0_144"
Lingkungan Runtime Java(TM) SE (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mode campuran)



Versi Java "1.8.0_144" Mode sisi server 64-bit, memori 80G, tidak ada masalah

 Tuan tanah| Diposting pada 01/09/2020 22.29.04 |
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com