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

Melihat: 17284|Jawab: 1

[Sumber] Opsi parameter JVM

[Salin tautan]
Dipaparkan pada 2020-8-31 22:20:25 | | |
Kami membagi parameter JVM menjadi tiga bagian berdasarkan parameter JVM yang dimulai dengan -X atau -XX:
1. Dimulai dengan -, opsi VM standar, opsi spesifikasi VM;
2. Parameter yang dimulai dengan -X tidak standar (parameter ini tidak dijamin akan diterapkan pada semua JVM), dan jika ada perubahan pada versi baru, tidak ada pemberitahuan yang akan dikeluarkan.
3. Yang dimulai dengan -XX tidak stabil dan tidak direkomendasikan untuk digunakan di lingkungan produksi. Perubahan pada parameter ini juga tidak akan diberitahukan. Opsi parameter Bool: -XX:+ aktif, -XX:- mati. (misalnya -XX:+PrintGCDetails) Opsi parameter numerik diatur oleh -XX:=. Angkanya bisa m/m (megabyte), k/k (kilobyte), g/g (g-byte). Misalnya: 32K berarti 32768 byte. (misalnya -XX:MaxPermSize=64m) Opsi parameter String diatur oleh -XX:=, yang biasanya digunakan untuk menentukan file, jalur, atau daftar perintah. (misalnya -XX:HeapDumpPath=./java_pid.hprof) perintah java -help dapat mencantumkan opsi standar untuk startup aplikasi java (lihat Tabel Parameter VM Standar Lampiran, implementasi JVM yang berbeda berbeda). java -X dapat mencantumkan parameter non-standar (yang merupakan perpanjangan dari JVM). -X opsi terkait tidak standar dan tidak akan diberitahu jika diubah. Jika Anda ingin melihat parameter JVM yang saat ini digunakan oleh aplikasi Anda, Anda dapat menggunakan: ManagementFactory.getRuntimeMXBean().getInputArguments().

Nama ParameterartiDefault/Catatan
-XMSUkuran tumpukan awal1/64 (<1GB) memori fisik Secara default (parameter MinHeapFreeRatio dapat disesuaikan) Ketika memori timbunan kosong kurang dari 40%, JVM akan meningkatkan tumpukan hingga batas maksimum -Xmx
-XmxUkuran tumpukan maksimum1/4 dari memori fisik (<1GB) default (parameter MaxHeapFreeRatio dapat disesuaikan) Ketika memori tumpukan kosong lebih besar dari 70%, JVM akan mengurangi tumpukan hingga batas minimum -xms
-XMNUkuran generasi (JDK 1.4 atau lebih tinggi)Setelah meningkatkan generasi baru, ukuran generasi lama akan berkurang. Nilai ini berdampak signifikan pada kinerja sistem. Sun secara resmi merekomendasikan konfigurasi ke 3/8 dari seluruh tumpukan
-XSSUkuran tumpukan setiap utasSetelah JDK5.0, setiap ukuran tumpukan utas adalah 1M, dan sebelumnya setiap ukuran tumpukan utas adalah 256K, yang dapat dalam satuan K, M, atau G
-XX: ThreadStackSizeIbid0 berarti nilai default digunakan, dan tidak dapat disatukan
-XX: Ukuran PermTetapkan nilai awal aljabar permanen1/64 memori fisik
-XX: MaxPermSizeTetapkan generasi permanen maksimum1/4 dari memori fisik
-XX: Rasio BaruRasio Cenozoikum (termasuk Eden dan dua zona Survivor) terhadap Usia Tua (tidak termasuk generasi permanen)-XX:NewRatio=4 berarti bahwa rasio Kenozoikum terhadap Zaman Tua adalah 1:4, dan Kenozoikum menyumbang 1/5 dari seluruh tumpukan, Xms=Xmx dan Xmn diatur, parameter ini tidak perlu diatur.
-XX: Rasio PenyintasRasio ukuran area Eden dengan area SurvivorJika diatur ke 8, rasio dua wilayah Survivor dengan satu wilayah Eden adalah 2:8, dan satu wilayah Survivor menyumbang 1/10 dari seluruh Cenozoikum
-XX:LargePageSizeInBytesUkuran halaman memori tidak boleh diatur terlalu besar, karena akan mempengaruhi ukuran Perm= 128m
-XX:+GunakanMetode Aksés CepatOptimasi cepat dari tipe asli
-XX:+NonaktifkanEksplisitGCTutup Sistem.gc()Parameter ini memerlukan pengujian yang ketat
-XX:MaxTenuringThresholdUsia maksimum sampahJika diatur ke 0, objek generasi baru akan masuk ke era lama secara langsung tanpa melewati area Survivor. Untuk aplikasi lama, efisiensi dapat ditingkatkan. Jika nilai ini diatur ke nilai besar, objek generasi baru akan disalin beberapa kali di wilayah Survivor, yang dapat meningkatkan waktu bertahan hidup objek di generasi baru dan meningkatkan kemungkinan didaur ulang di generasi baru, yang hanya berlaku untuk GC serial
-XX:+AgresifMemilihMempercepat kompilasi
-XX: + GunaBiasMengunciPeningkatan kinerja untuk mekanisme penguncian
-XnoclassgcNonaktifkan daur ulang sampah
-XX: SoftRefLRUPolicyMSPerMBWaktu bertahan hidup SoftReference per megapile ruang kosong1 detik
-XX:Ambang Ukuran PretenurePeriodeUkuran objek langsung didistribusikan di usia tuaKasus lain di mana generasi baru menggunakan Parallel Scavenge GC tidak valid, dan kasus lain di mana ia ditetapkan secara langsung di usia tua adalah objek array besar tanpa objek referensi eksternal dalam array.
-XX:TLABWasteTargetPercentPersentase TLAB di daerah Eden1%
-XX:+CollectGen0FirstApakah YGC didahulukan saat FullGCfalse
-XX:+GunakanParalelGCGC Penuh menggunakan MSC paralelLihat [Parameter GC][1]
-XX:+UseParNewGCMengatur generasi baru untuk mengumpulkan secara paralelIni dapat digunakan bersama dengan koleksi CMS, JDK 5.0 atau lebih baru, dan JVM akan mengaturnya sesuai dengan konfigurasi sistem, jadi tidak perlu mengatur nilai ini lagi
-XX: ParalelGCThreadsJumlah ulir untuk kolektor paralelNilai ini paling baik dikonfigurasi sama dengan jumlah prosesor, dan juga cocok untuk CMS
-XX:+GunakanParallelOldGCMetode pengumpulan sampah lama adalah Parallel CompactingIni adalah opsi parameter yang muncul di JAVA 6
-XX: MaxGCPauseMillisWaktu maksimum per pengumpulan sampah generasi baru (waktu jeda maksimum)Jika waktu ini tidak dapat dipenuhi, JVM akan secara otomatis mengubah ukuran generasi baru untuk memenuhi nilai ini.
-XX:+UseAdaptiveSizePolicySecara otomatis memilih ukuran area generasi baru dan rasio area penyintas yang sesuaiKetika opsi ini diatur, kolektor paralel secara otomatis memilih ukuran area generasi baru dan proporsi yang sesuai dari area yang bertahan untuk mencapai waktu atau frekuensi pengumpulan minimum yang sesuai yang ditentukan oleh sistem target
-XX: Rasio GCTimeAtur waktu pengumpulan sampah sebagai persentase dari waktu berjalan programRumusnya adalah 1/(1+n)
-XX:+PemulunganSebelumPenuhGCGC penuh sebelum menelepon YGCtrue
-XX:+GunaConcMarkSweepGCMenggunakan koleksi memori CMSSetelah mengonfigurasi ini dalam pengujian, konfigurasi -XX:NewRatio=4 tidak valid, dan alasannya tidak diketahui, jadi yang terbaik adalah menggunakan -Xmn untuk mengatur ukuran generasi baru saat ini
-XX:+Tumpukan AgresifUpayanya adalah menggunakan banyak memori fisikOptimalisasi penggunaan memori besar jangka panjang, dapat memeriksa sumber daya komputasi (memori, jumlah prosesor, setidaknya 256MB memori) diperlukan
-XX:CMSFullGCsSebelumPemadatanBerapa kali kompresi memori terjadi?Karena kolektor bersamaan tidak mengompresi dan mengatur ruang memori, itu akan menghasilkan "fragmentasi" setelah berjalan untuk jangka waktu tertentu, yang mengurangi efisiensi operasi
-XX:+CMSParallelRemarkDiaktifkanJeda penanda bawah
-XX+GunakanCMSCompactAtFullCollectionKompresi usia tua ketika itu FullGCCMS tidak memindahkan memori, sehingga sangat mudah untuk menghasilkan fragmentasi, sehingga memori tidak mencukupi, sehingga kompresi memori akan diaktifkan saat ini. Ini adalah kebiasaan yang baik untuk meningkatkan parameter ini. Ini dapat mempengaruhi kinerja, tetapi dapat menghilangkan puing-puing
-XX:+UseCMSInitiatingOccupancyOnlyMulai koleksi CMS dengan inisialisasi definisi manualHostSpot dilarang memicu CMS GC sendiri
-XX: CMSInitiatingOccupancyFraction=70Pengumpulan CMS dimulai setelah 70% sampah digunakan sebagai daur ulang sampahNilai ini perlu diatur untuk memenuhi rumus berikut, CMSInitiatingOccupancyFraction
-XX: CMSInitiatingPermOccupancyFractionAtur penggunaan Perm Gen untuk memicu saat rasio tercapai92
-XX:+CMSIncrementalModeAtur ke mode InkrementalDigunakan dalam kasus CPU tunggal
-XX:+CMSClassUnloadingDiaktifkanGC CMS Permanen
-XX:+CetakGCKeluaran log GCSama seperti -verbose:gc
-XX:+CetakGCDetailsIbidKeterangan lebih lanjut
-XX:+CetakGCTimeStampsStempel waktu GC keluaranGunakan dengan parameter PrintGC di atas, atau tulis sesuatu seperti -XX:+PrintGC:PrintGCTimeStamps
-XX:+CetakGC:CetakGCTimeStampsDapat dicampur dengan -XX:+PrintGC -XX:+PrintGCDetails
-XX:+CetakGCApplicationStoppedTimeWaktu program berhenti selama pengumpulan sampah cetak. Dapat dicampur dengan yang di atasFormat output: Total waktu untuk penghentian utas aplikasi: 0,0468229 detik
-XX:+CetakGCApplicationConcurrentTimeCetak waktu eksekusi program tanpa gangguan sebelum setiap pengumpulan sampahDapat dicampur dengan di atas, bentuk keluaran: Waktu aplikasi: 0.5291524 detik
-XX: + CetakHeapAtGCCetak informasi tumpukan terperinci sebelum dan sesudah GC
-Xloggc:nama fileMencatat informasi log yang relevan ke file untuk analisisBekerja dengan beberapa di atas
-XX:+CetakKelasHistogramSetelah menekan Ctrl+Break di konsol, cetak informasi kelas
-XX:+CetakKelasHistogramSebelumPenuhGCFullGC sebelum mencetak
-XX: + CetakTLABMelihat penggunaan ruang TLAB
XX:+PrintTenuringDistributionLihat ambang batas untuk periode kelangsungan hidup baru setelah setiap GC minor
-eaMengaktifkan assert assert
-XprofDiagnostik performa
-XrunhprofDiagnostik performa
-XX:+TraceClassLoadingMencetak informasi tentang proses pemuatan kelasMirip dengan [Dimuat java.util.AbstractList$Itr dari /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX:+TraceClassUnloadingInformasi proses penghapusan instalan kelas cetak
XbootclasspathMenentukan pemuatan kelas yang tidak memerlukan pemeriksaanMelewatkan pemeriksaan pra-muat yang diperlukan dapat mengurangi waktu muat, tetapi tidak aman
-XX:+Kompilasi CetakCetak nama metode yang dikompilasi Hotspot menggunakan JIT
-XX:+HeapDumpOnOutOfMemoryErrorOM saat membuat heap dumpOutput default ada di folder root tempat file kelas disimpan
-XX: Jalur TumpukanAtur jalur file dump OM outputGunakan dengan -XX:+HeapDumpOnOutOfMemoryError

Lampiran

[Lembar Parameter VM Standar]

Nama ParameterdeskripsiDefault
-d32Gunakan model data 32-bit (jika tersedia)
-d64Gunakan model data 64-bit (jika tersedia)
-peladenPilih VM serverVM default adalah server karena Anda berjalan di mesin seperti server.
-cp < dan jalur pencarian kelas file zip/jar >
-classpath < jalur pencarian kelas untuk direktori dan file zip/jar >Gunakan : daftar direktori terpisah, arsip JAR, dan arsip ZIP untuk mencari file kelas
-D <名称>=<值>Tetapkan properti sistem
-verbose: [kelas atau gc atau jni]Aktifkan output terperinci
-versiKeluarkan versi produk dan keluar
-<值>versi:Tidak digunakan lagi
-showversionKeluarkan versi produk dan lanjutkan
-jre-restrict-search atau -no-jre-restrict-searchTidak digunakan lagi
-? -TolongKeluarkan pesan bantuan ini
-XBantuan keluaran dengan opsi non-standar
-ea[:< nama paket, nama kelas>]menegaskan
-enableassertions[:< nama paket, nama kelas>]Aktifkan pernyataan pada granularitas yang ditentukan
-da[:< nama paket, nama kelas>]
-disableassertions[:< nama paket, nama kelas>]Menonaktifkan pernyataan dengan granularitas tertentu
-esa atau -enablesystemassertionsMengaktifkan pernyataan sistem
-dsa atau -disablesystemafirmasiMenonaktifkan pernyataan sistem
-agen lib:<libname>[=<选项>]Muat pustaka <libname>agen asliMisalnya, -agentlib:hprofLihat juga -agentlib:jdwp=help dan -agentlib:hprof=help
-agentpath:<pathname>[=<选项>]Muat pustaka agen lokal dengan nama jalur lengkap
-javaagent:<jarpath>[=<选项>]Untuk memuat agen bahasa pemrograman Java, lihat java.lang.instrument
-percikan:<imagepath>Tampilkan layar pembuka dengan gambar yang ditentukan






Mantan:Nuget Series 1 menggunakan asp.net untuk membuat repositori Nuget privat
Depan:Mysql CURRENT_TIMESTAMP dan ON UPDATE CURRENT_TIMESTAMP dibedakan
 Tuan tanah| Dipaparkan pada 2022-1-13 09:50:32 |


Catatan: -Xms256m -Xmx1536m tidak dapat ditempatkan setelah parameter toples!
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