Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 17284|Yanıt: 1

[Kaynak] JVM parametreleri Seçenekler

[Bağlantıyı kopyala]
2020-8-31 tarihinde yayınlandı 22:20:25 | | |
JVM parametrelerini, -X veya -XX ile başlayan JVM parametrelerine göre üç parçaya böleriz:
1. Standart VM seçeneği olan -dan başlayarak, VM spesifikasyon seçeneği;
2. -X ile başlayanlar standart değildir (bu parametrelerin tüm JVM'lerde uygulanacağı garanti edilmez) ve yeni sürümde herhangi bir değişiklik olursa herhangi bir bildirim verilmez.
3. -XX ile başlayanlar kararsızdır ve üretim ortamlarında kullanımı tavsiye edilmez. Bu parametrelerdeki değişiklikler de bildirilmeyecektir. Bool parametre seçenekleri: -XX:+ açık, -XX:- kapalı. (örneğin -XX:+PrintGCDetails) Sayısal parametre seçeneği -XX:= ile ayarlanır. Sayılar m/m (megabayt), k/k (kilobayt), g/g (g-bayt) olabilir. Örneğin: 32K 32768 bayt demek. (örneğin -XX:MaxPermSize=64m) String parametre seçeneği genellikle bir dosya, yol veya komut listesini belirtmek için kullanılan -XX:= ile ayarlanır. (örneğin -XX:HeapDumpPath=./java_pid.hprof) komutu java -help java uygulamasının başlangıç için standart seçenekleri listeleyebilir (bkz. Ek Standart VM Parametre Tablosu, farklı JVM uygulamaları farklıdır). java -X, standart olmayan parametreleri listeleyebilir (bu JVM'nin bir uzantısıdır). -X ile ilgili seçenekler standart değildir ve değiştirilirse bildirilmez. Uygulamanızın şu anda kullandığı JVM parametrelerini görmek isterseniz, şunları kullanabilirsiniz: ManagementFactory.getRuntimeMXBean().getInputArguments().

Parametre AdıanlamVarsayılan Durumlar/Notlar
-XmsBaşlangıç yığın boyutu1/64 (<1GB) fiziksel bellek Varsayılan olarak (MinHeapFreeRatio parametresi ayarlanabilir) Serbest yığın belleği %40'tan az olduğunda, JVM yığını -Xmx maksimum sınırına kadar artırır
-XmxMaksimum yığın boyutuFiziksel belleğin (<1GB) varsayılanının 1/4'ü (MaxHeapFreeRatio parametresi ayarlanabilir) Serbest yığın belleği %70'ten büyük olduğunda, JVM yığını en az -xms sınırına kadar azaltır
-XmnNesil boyutu (JDK 1.4 veya üzeri)Yeni nesil arttıktan sonra, eski neslin boyutu küçülür. Bu değer, sistem performansı üzerinde önemli bir etkiye sahiptir. Sun, tüm yığının 3/8'ine konfigürasyonu resmi olarak öneriyor
-XssHer iş parçacığının yığın boyutuJDK5.0'dan sonra her iş parçacığı yığını boyutu 1M'di, önceden her iş parçacığı yığını boyutu 256K idi; bu da K, M veya G birimlerinde olabilir
-XX:ThreadStackSizeAynı şey0, varsayılan değerin kullanıldığı ve birleştirilemeyeceği anlamına gelir
-XX:PermSizeKalıcı cebir başlangıç değerini belirleyinFiziksel hafızanın 1/64'ü
-XX:MaxPermSizeKalıcı üretim maksimumunu ayarlayınFiziksel hafızanın dörtte biri
-XX:NewRatioSenozoik (Eden ve iki Hayatta Kalma Bölgesi dahil) ile Yaşlılık oranı (kalıcı nesil hariç)-XX:NewRatio=4, Senozoik ile Yaşlılık arasındaki oranın 1:4 olduğu ve Senozoik tüm yığının 1/5'ini oluşturduğu anlamına gelir, Xms=Xmx ve Xmn ayarlanır, bu parametrenin ayarlanmasına gerek yoktur.
-XX:SurvivorRatioEden bölgesinin Survivor bölgesine olan büyüklük oranı8'e ayarlanırsa, iki Survivor bölgesinin bir Eden bölgesine oranı 2:8'dir ve bir Survivor bölgesi tüm Senozoik bölgenin 1/10'unu oluşturur
-XX:LargePageSizeInBytesBellek sayfasının boyutu çok büyük ayarlanmamalıdır, çünkü Perm boyutunu etkiler=128m
-XX:+UseFastAccessorMethodsOrijinal tipin hızlı optimizasyonu
-XX:+DisableExplicitGCKapat System.gc()Bu parametre titiz test gerektirir
-XX:MaxTenuringThresholdÇöpün maksimum yaşı0'a ayarlanırsa, yeni nesil nesne Survivor alanından geçmeden doğrudan eski çağa girer. Eski uygulamalar için verimlilik artırılabilir. Bu değer büyük bir değere ayarlanırsa, yeni nesne Survivor bölgesinde birden fazla kez kopyalanır; bu da nesnenin yeni nesildeki hayatta kalma süresini artırabilir ve yeni nesilde geri dönüştürülme olasılığını artırabilir; bu sadece seri GC için geçerlidir
-XX:+AgresifOptsDerlemeyi hızlandır
-XX:+UseBiasedLockingKilitleme mekanizmaları için performans iyileştirmeleri
-XnoclassgcÇöp geri dönüşümünü devre dışı bırakın
-XX:SoftRefLRUPolicyMSPerMBSoftReference'ın bir megapile boş alan başına hayatta kalma süresi1s
-XX:PretenureSizeThresholdNesnenin boyutu yaşlılıkta doğrudan dağılıpYeni nesil Parallel Scavenge GC kullandığı bir diğer durum geçersizdir ve eski çağda doğrudan atanan bir diğer durum ise dizide harici referans nesnesi olmayan büyük bir dizi nesnesidir.
-XX:TLABWasteTargetPercentEden bölgesindeki TLAB oranı1%
-XX:+CollectGen0FirstFullGC olduğunda YGC birinci mifalse
-XX:+UseParallelGCTam GC paralel MSC kullanırBkz. [GC Parametreleri][1]
-XX:+UseParNewGCYeni nesli paralel olarak toplamaya ayarlamakCMS koleksiyonu, JDK 5.0 veya daha sonrası ile birlikte kullanılabilir ve JVM bunu sistem yapılandırmasına göre ayarlar, böylece bu değeri tekrar ayarlamaya gerek kalmaz
-XX:ParallelGCThreadsParalel kollektör için iplik sayısıBu değer en iyi şekilde işlemci sayısına eşit olarak yapılandırılır ve CMS için de uygundur
-XX:+UseParallelOldGCEski çöp toplama yöntemi Paralel SıkıştırmadırBu, JAVA 6'da görünen parametre seçeneğidir
-XX:MaxGCPauseMillisYeni nesil atık toplama başına maksimum süre (maksimum duraklama süresi)Bu süre karşılanamazsa, JVM yeni nesli bu değere uygun olarak otomatik olarak yeniden boyutlandıracaktır.
-XX:+UseAdaptiveSizePolicyYeni nesil alanın boyutunu ve buna karşılık gelen hayatta kalma alanının oranını otomatik olarak seçinBu seçenek ayarlandığında, paralel toplayıcı yeni nesil alanın boyutunu ve ona karşılık gelen hayatta kalma alanının oranını otomatik olarak seçerek hedef sistem tarafından belirlenen minimum karşılık gelen zaman veya toplama sıklığını elde eder
-XX:GCTimeRatioÇöp toplama süresini programın çalışma süresinin yüzdesi olarak ayarlayınFormül 1/(1+n) şeklindedir
-XX:+DolayGC'den Önce TemizlikYGC aramadan önce tam genel genel kontroltrue
-XX:+UseConcMarkSweepGCCMS bellek toplama kullanBunu testte yapılandırmak yaptıktan sonra, -XX:NewRatio=4 yapılandırması geçersiz olur ve nedeni bilinmemektedir, bu nedenle yeni neslin boyutunu şu anda ayarlamak için -Xmn kullanmak en iyisidir
-XX:+Agresif YığınGirişim, çok fazla fiziksel hafıza kullanmakUzun vadeli büyük bellek kullanımının optimizasyonu, hesaplama kaynaklarını (bellek, işlemci sayısı, en az 256MB bellek) kontrol edebilir
-XX:CMSFullGCsBeforeCompressactionBellek sıkıştırma kaç kez gerçekleşir?Eşzamanlı kollektör bellek alanını sıkıştırıp düzenlemediği için, belirli bir süre çalıştıktan sonra "parçalanma" oluşturur ve bu da işlem verimliliğini azaltır
-XX:+CMSParallelAçıkAlt işaret duraklamaları
-XX+UseCMSCompactAtFullCollectionFullGC olduğu dönemde yaşlılığın sıkıştırılmasıCMS belleği hareket ettirmez, bu yüzden parçalanma yaratmak çok kolaydır ve bu da yetersiz belleğe yol açar, bu yüzden bellek sıkıştırması bu anda etkinleştirilir. Bu parametri artırmak iyi bir alışkanlıktır. Performansı etkileyebilir, ancak enkazı yok edebilir
-XX:+Sadece OccupancyKullanımı KullanCMS koleksiyonunu manuel tanım başlatma ile başlatınHostSpot'un CMS GC'yi kendi başına tetiklemesi yasaktır
-XX:CMSInitiatingOccupancyFraction=70CMS toplama, çöpün %70'inin çöp geri dönüşümü olarak kullanılmasından sonra başlarBu değer, CMSInitiatingOccupancyFraction formülünü karşılamak için ayarlanmalıdır
-XX:CMSInitiatingPermOccupancyFractionPerm Gen kullanımını oran ulaşıldığında tetiklenecek şekilde ayarlayın92
-XX:+CMSIncrementalModeArtan moduna ayarlanırTek CPU vakalarında kullanılır
-XX:+CMSClassUnloadingEnabledKalıcı CMS GC
-XX:+PrintGCGC log çıkışı-verbose:gc ile aynı.
-XX:+PrintGCDetailsAynı şeyDaha fazla detay
-XX:+PrintGCTimeStampsÇıkış GC zaman damgasıYukarıdaki PrintGC parametresiyle birlikte kullanın veya -XX:+PrintGC:PrintGCTimeStamps gibi bir şey yazın
-XX:+PrintGC:PrintGCTimeStamps-XX:+PrintGC -XX:+PrintGCDetails ile karıştırılabilir
-XX:+PrintGCApplicationStoppedTimeProgramın baskı çöpü toplama sırasında durduğu zaman. Yukarıdakilerle karıştırılabilirÇıkış formatı: Uygulama iş parçacıklarının durdurulduğu toplam süre: 0.0468229 saniye
-XX:+PrintGCApplicationConcurrentTimeHer çöp toplamadan önce programın kesintisiz çalışma süresini yazdırınYukarıdakilerle karıştırılabilir, çıktı formu: Uygulama süresi: 0.5291524 saniye
-XX:+PrintHeapAtGCGC'den önce ve sonra ayrıntılı yığın bilgisini yazdırın
-Xloggc:filenameİlgili günlük bilgilerini analiz için bir dosyaya kaydedinYukarıdaki birkaç kişiyle çalışmalar
-XX:+PrintClassHistogramKonsolda Ctrl+Break tuşlarına bastıktan sonra sınıf bilgisini yazdırın
-XX:+PrintClassHistogramBeforeFullGCBaskıdan önce FullGC
-XX:+PrintTLABTLAB uzayının kullanımını görüntüleyin
XX:+PrintTenuringDistributionHer küçük GC'den sonra yeni hayatta kalma süresi için eşik noktasını görüntüleyin
-EAAç assert assert
-XprofPerformans tanılaması
-XrunhprofPerformans tanılaması
-XX:+TraceClassLoadingSınıf yükleme süreciyle ilgili bilgileri yazdırırBenzer şekilde [/Library/Java/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar from java.util.AbstractList$Itr yüklendi]
-XX:+TraceClassUnloadingPrint sınıfı kaldırma süreci bilgileri
XbootclasspathKontrol gerektirmeyen sınıfların yüklenmesini belirtirGerekli ön yükleme kontrollerinin atlanması yükleme süresini azaltabilir, ancak güvenli değildir
-XX:+PrintCompilationHotspot'un JIT ile derlediği metod adını yazdırın
-XX:+HeapDumpOnOutOfMemoryErrorOM bir yığın dökümü oluşturulduğundaVarsayılan çıktı, sınıf dosyalarının saklandığı kök klasördedir
-XX:HeapDumpPathÇıktı OM dump dosya yolunu ayarlayın-XX:+HeapDumpOnOutOfMemoryError ile kullan

Ek

[Standart VM Parametre Sayfası]

Parametre AdıAçıklamaTemerrüt
-d3232-bit veri modeli kullanın (varsa)
-d6464-bit veri modeli kullanın (varsa)
-sunucuServer VM'yi seçVarsayılan VM sunucudur çünkü sunucu benzeri bir makinede çalışıyorsunuz.
-cp < dizin ve zip/jar dosya sınıf arama yolu >
-classpath< dizinler ve zip/jar dosyaları için sınıf arama yolu >Sınıf dosyalarını aramak için : ayrılmış dizinler, JAR arşivleri ve ZIP arşivleri listesini kullanın
-D<名称>=<值>Küme sistemi özellikleri
-Sözlü: [Sınıf veya GC ya da JNI]Detaylı çıktıyı etkinleştir
-SürümÜrün versiyonunu çıktı ve çıkış
-<值>versiyon:Kullanımdan kaldırıldı
-gösteri versiyonuÜrün versiyonunu çıktı ve devam edin
-jre-restrict-search veya -no-jre-restrict-searchKullanımdan kaldırıldı
-? -YardımBu yardım mesajını gönderin
-XStandart olmayan seçeneklerle çıktı yardımı
-ea[:< paket adı, sınıf adı>]iddia etmek
-enableassertions[:< paket adı, sınıf adı>]Belirtilen granülerlikte iddiaları etkinleştirin
-da[:< paket adı, sınıf adı>]
-disableassertions[:< paket adı, sınıf adı>]Belirli bir granülite sahip iddiaları devre dışı bırakın
-esa veya -etkinleştiren sistem iddialarıSistem iddialarını etkinleştirin
-DSA veya -disdisabledsystemassertionsSistem açıklamalarını devre dışı bırakın
-agentlib:<libname>[=<选项>]Yerel ajan kütüphanesini <libname>yükleyinÖrneğin, -agentlib:hprofAyrıca -agentlib:jdwp=help ve -agentlib:hprof=help gibi görünüyor.
-agentpath:<pathname>[=<选项>]Yerel ajan kütüphanesini tam yol adıyla yükleyin
-javaagent:<jarpath>[=<选项>]Java programlama dili ajanını yüklemek için java.lang.instrument adresine bakınız.
-Sıçrama:<imagepath>Belirtilen görüntüyle birlikte açılış ekranını gösterin






Önceki:Nuget Serisi 1, asp.net kullanarak özel bir Nuget deposu oluşturur
Önümüzdeki:Mysql CURRENT_TIMESTAMP ve ON GÜNCELLEME CURRENT_TIMESTAMP farklılaştırıldı
 Ev sahibi| 2022-1-13 09:50:32 tarihinde yayınlandı |


Not: -Xms256m -Xmx1536m kavanoz parametresinden sonra yerleştirilemiyor!
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com