Penelitian utama dalam artikel ini adalah konten yang relevan dari penjelasan terperinci tentang pengaturan bendera di JVM, yang diperkenalkan sebagai berikut.
-XMX3550M: Atur memori maksimum yang tersedia dari JVM ke 3550m.
-XMS3550M: Atur memori awal yang tersedia dari JVM ke 3550m.
-Xmn2g: Atur ukuran generasi muda menjadi 2G.
-Xss128k: Atur ukuran tumpukan masing -masing utas ke 128k
-Xx: newsize = 4: Tetapkan ukuran generasi muda menjadi 4
-XX: NewRatio = 4: Tetapkan rasio generasi muda (termasuk Eden dan dua area yang selamat) dengan generasi lama (tidak termasuk generasi yang persisten) menjadi 4, kemudian rasio generasi muda dengan generasi lama adalah 1: 4, dan generasi muda menyumbang 1/5 dari seluruh tumpukan seluruh tumpukan adalah 1/5 dari seluruh tumpukan seluruh tumpukan adalah 1: 4, dan generasi muda menyumbang 1/5 dari seluruh tumpukan seluruh tumpukan adalah 1/5 dari seluruh tumpukan adalah 1/5 dari seluruh tumpukan.
-Xx: Survivorratio = 4: Mengatur rasio ukuran antara area Eden dan area yang selamat di generasi muda. Ditetapkan ke 4, rasio antara dua area yang selamat dan satu area Eden adalah 2: 4, dan satu area yang selamat menyumbang 1/6 dari seluruh generasi muda.
-Xx: maxpermsize = 16m: atur ukuran generasi persisten ke 16m.
-Xx: pretenuresizethreshold = n, objek lebih besar dari n ditempatkan langsung ke usia tua
-Xx: maxtenuringthreshold = 0: atur usia maksimum sampah. Jika diatur ke 0, objek generasi muda tidak akan melewati area yang selamat dan langsung memasuki generasi lama.
-Xx:+useparalleloldgc: Konfigurasikan metode pengumpulan sampah generasi lama untuk koleksi paralel.
Ukuran Tumpukan Utuh = Ukuran Generasi Muda + Ukuran Generasi Tua + Ukuran Generasi Persisten.
-Xx:+UseRerialGC: Atur kolektor serial
-Xx:+useparallelgc: atur kolektor paralel
-Xx:+useparalledloldgc: mengatur kolektor generasi tua paralel
-Xx:+useconcmarksweepgc: Siapkan kolektor bersamaan
-Xx:+printgc
-Xx:+printgcdetails
-Xx:+printgcTimestamps
-Xloggc: nama file
-Xx: paralelgcthreads = n: Setel jumlah CPU yang digunakan saat mengumpulkan kolektor paralel. Jumlah utas yang dikumpulkan secara paralel.
-Xx: maxgcpausemillis = n: Tetapkan waktu jeda maksimum untuk koleksi paralel
-Xx: gcTimeratio = n: Tetapkan persentase waktu pengumpulan sampah untuk program berjalan program. Formulanya adalah 1/(1+n)
-Xx:+cmsincrementalmode: Setel ke mode tambahan. Ini cocok untuk situasi CPU tunggal.
-Xx: paralelgcthreads = n: Tetapkan jumlah CPU yang digunakan ketika generasi muda kolektor bersamaan adalah koleksi paralel. Jumlah utas yang digunakan dalam koleksi paralel.
Misalkan ada file bernama testmem.java
javac testmem.java java -Verbose: gc -xms20m -xmx20m -xmn10m -xx:+printgcdetails -xx: Survivorratio = 8 testMem
-Xms20m: Ukuran awal tumpukan java di JVM adalah 20m. (Termasuk generasi baru dan lansia)
-Xmx20m: Ukuran maksimum tumpukan java di JVM adalah 20m, yang berarti tidak dapat diskalakan. (Termasuk generasi baru dan lansia)
-Xmn10m: Ukuran generasi baru adalah 10m
-Xx:+printgcdetails: cetak informasi GC terperinci
-Xx: Survivorratio = 8: Rasio spasial dari satu enden ke satu area yang selamat di generasi baru adalah 8: 1, maka rasio dua area yang selamat dengan satu area Eden adalah 2: 8, dan satu area yang selamat menyumbang untuk 1/10 dari seluruh generasi muda
Setelah mengetahui informasi bendera di atas, kami bisa mendapatkan informasi berikut:
Ukuran total tumpukan java adalah 20m = 20 * 1024k = 20480k
Ukuran generasi ceponim: 10m = 10 * 1024k = 10240k
Eden Space: 10240K * 8/10 = 8192K
dari ruang: 10240k * 1/10 = 1024k
ke ruang: 10240k * 1/10 = 1024k
Ukuran Usia Tua: 20m - 10m = 10m = 10240k
Di atas adalah semua penjelasan terperinci tentang pengaturan bendera di JVM dalam artikel ini, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!