Çöp toplama duraklamalarını en aza indirecek JVM parametrelerini yapılandırmak için şu adımları takip edebilirsiniz:
1. Yığın Boyutunu Ayarlayın:
- Maksimum Yığın Boyutunu Ayarlayın:- Maksimum yığın boyutunu ayarlamak için `-Xmx` bayrağını kullanın.
- Örneğin, '-Xmx2g' maksimum yığın boyutunu 2 GB olarak ayarlar.
- Başlangıç Yığın Boyutunu Ayarlayın:
- Başlangıç yığın boyutunu ayarlamak için `-Xms` bayrağını kullanın.
- Örneğin, '-Xms2g' başlangıç yığın boyutunu 2 GB olarak ayarlar.
2. Genç Nesil Boyutunu Ayarlayın:
- Genç Nesil Boyutunu Ayarlayın:- Genç nesil boyutunu ayarlamak için '-Xmn' bayrağını kullanın.
- Örneğin, '-Xmn1g' genç nesil boyutunu 1 GB olarak ayarlar.
3. Çöp Toplayıcıyı Ayarlayın:
- Önce Çöp (G1) Çöp Toplayıcıyı kullanın:- G1 çöp toplayıcıyı etkinleştirmek için `-XX:+UseG1GC` bayrağını kullanın.
- Bu toplayıcı duraklama sürelerini en aza indirecek şekilde tasarlanmıştır.
4. Maksimum Duraklatma Süresini Ayarlayın:
- Maksimum Duraklatma Süresini Ayarlayın:- Maksimum duraklatma süresini ayarlamak için `-XX:MaxGCPauseMillis` bayrağını kullanın.
- Örneğin, `-XX:MaxGCPauseMillis=200` maksimum duraklatma süresini 200 milisaniyeye ayarlar.
5. Paralel GC Konularını Ayarlayın:
- Paralel GC İş Parçacığının Sayısını Ayarlayın:- Paralel GC iş parçacıklarının sayısını ayarlamak için `-XX:ParallelGCThreads` bayrağını kullanın.
- Örneğin, `-XX:ParallelGCThreads=20` paralel GC iş parçacıklarının sayısını 20'ye ayarlar.
6. Eşzamanlı GC Konularını Ayarlayın:
- Eşzamanlı GC İş Parçası Sayısını Ayarlayın:- Eşzamanlı GC iş parçacıklarının sayısını ayarlamak için `-XX:ConcGCThreads` bayrağını kullanın.
- Örneğin, `-XX:ConcGCThreads=5` eşzamanlı GC iş parçacıklarının sayısını 5'e ayarlar.
7. Başlangıçtaki Yığın Doluluk Yüzdesini Ayarlayın:
- Başlangıç Yığın Doluluk Yüzdesini Ayarlayın:- Başlangıç yığın doluluk yüzdesini ayarlamak için `-XX:InitiatingHeapOccupancyPercent` bayrağını kullanın.
- Örneğin, `-XX:InitiatingHeapOccupancyPercent=70`, başlangıç yığın doluluk yüzdesini %70'e ayarlar.
8. İzleyin ve Ayarlayın:
- Çöp Toplama İşleminin İzlenmesi:- Çöp toplama işlemini izlemek için VisualVM veya GCeasy gibi araçları kullanın.
- Duraklatma sürelerini en aza indirmek için JVM parametrelerini gerektiği gibi ayarlayın.
Bu adımları izleyerek JVM parametrelerini, çöp toplama duraklamalarını en aza indirecek ve verimli uygulama performansı sağlayacak şekilde yapılandırabilirsiniz.
Alıntılar:[1] https://www.uber.com/blog/jvm-tuning-garbage-collection/
[2] https://docs.datastax.com/en/dse/6.8/managing/operations/configure-garbage-first-collection.html
[3] https://sematext.com/blog/java-garbage-collection-tuning/
[4] https://docs.oracle.com/cd/E55119_01/doc.71/e55122/cnf_jvmgc.htm
[5] https://docs.oracle.com/cd/E40972_01/doc.70/e40973/cnf_jvmgc.htm