Yardım Java Hatası

EternalHittMan

Ağaç Yumruklayıcı
Mesajlar
30
En iyi cevaplar
0
Beğeniler
8
Puanları
260
Ruh hali
Oyun Sürümü
1.15.2
Merhabalar. Sunucum ara sıra bilmediğim bir sebepten ötürü kapanıyor. Centos ve Paperspigot 1.15.2 kullanıyorum yardımcı olursanız sevinirim.

Hata Kodu

 


Nedemekkio

Taş Madencisi
Mesajlar
87
En iyi cevaplar
5
Beğeniler
26
Puanları
70
Merhabalar. Sunucum ara sıra bilmediğim bir sebepten ötürü kapanıyor. Centos ve Paperspigot 1.15.2 kullanıyorum yardımcı olursanız sevinirim.

Hata Kodu

Merhabalar öncelikle linux hakkında çok az bilgim var o yüzden söyleyeceklerim kesinlikle deneysel .Denemeden önce backup alın.
Sorunun jvmlibrarynin kendisinde diye tahmin ediyorum kodda problematic frame altında yazıyor. Jdk'yı güncellemeyi deneyebilirsin openjdk kullanıyorsun hiç kullanmadım sitesinde bakarsan vardır muhtemelen daha güncel versiyonu olup olmadığı ama benim tavsiyem oracleJdk'yı kullanman. Linux hiç kullanmadım o yüzden nasıl kurulur bilmiyorum ama javanın sitesinde vardır diye tahmin ediyorum.
İkinci olarak da java logları dışında server logları varsa onları da atabilir misin? Oradan bir şey çıkarabiliriz belki
 

EternalHittMan

Ağaç Yumruklayıcı
Mesajlar
30
En iyi cevaplar
0
Beğeniler
8
Puanları
260
Ruh hali
Hatada belirttiği kodu araştırıp bir şeyler buldum denedim. Bakalım işe yaradıysa dönerim herkes faydalanır.
 

EternalHittMan

Ağaç Yumruklayıcı
Mesajlar
30
En iyi cevaplar
0
Beğeniler
8
Puanları
260
Ruh hali
Tekrar çöktü. Dediğiniz gibi javayı sildim. Oracle dan rpm olarak indirdiğim javayı yükledim. Sonra tekrar ulimit -c unlimted yaptım. Swap alanını genişlettim. Ve sunucu startup flaglarımı değiştirdim. Tekrar deniyorum.

Server loglarında herhangi bir hata yok. Direkt sunucu kapanıyor ve java hatası veriyor.
 

Bernard

Бернард
Site Danışmanı
Geliştirici
Mesajlar
1,286
En iyi cevaplar
61
Beğeniler
2,129
Puanları
5,790
Sanal sunucuda kaç GB ram var ve siz sunucuya kaç GB ram verdiniz? Ayrıca "-XX:+UseG1GC" ibaresini kaldırırıp dener misiniz lütfen?
 

EternalHittMan

Ağaç Yumruklayıcı
Mesajlar
30
En iyi cevaplar
0
Beğeniler
8
Puanları
260
Ruh hali
Sunucumun ramı 8GB ben 6gb kullanıyorum. Şuanlık bir sorun yok olduğunda geri dönüş sağlarım.
 

EternalHittMan

Ağaç Yumruklayıcı
Mesajlar
30
En iyi cevaplar
0
Beğeniler
8
Puanları
260
Ruh hali
Sanal sunucuda kaç GB ram var ve siz sunucuya kaç GB ram verdiniz? Ayrıca "-XX:+UseG1GC" ibaresini kaldırırıp dener misiniz lütfen?
Evet sunucu yeniden çöktü. Ve çökmeyi önerdiğiniz şekilde çözdüm. Fakat bir sorun var. Timings aldığım zaman "
✗ Wrong Garbage Collector FIX THIS
Switch Java flags to stop receiving lag spikes. " Şeklinde bi uyarı alıyorum. Arasıra sunucuda da ani tps düşüşü yaşanıyor. Galiba sebebi bu. Bunu nasıl çözerim ?
 

Nedemekkio

Taş Madencisi
Mesajlar
87
En iyi cevaplar
5
Beğeniler
26
Puanları
70
Evet sunucu yeniden çöktü. Ve çökmeyi önerdiğiniz şekilde çözdüm. Fakat bir sorun var. Timings aldığım zaman "
✗ Wrong Garbage Collector FIX THIS
Switch Java flags to stop receiving lag spikes. " Şeklinde bi uyarı alıyorum. Arasıra sunucuda da ani tps düşüşü yaşanıyor. Galiba sebebi bu. Bunu nasıl çözerim ?
"UseG1GC" javanın alternatif garbage collectoru(Garbage First Garbage Collector açılımı)yani artık kullanılmayan objeleri hafızadan temizliyor ama standart collectordan ziyade bu garbage'ın çok olduğu alanlardan başlıyor ve daha sık temizlik yapıyor.Attığın link timings'in kendi sayfasına yönlendiriyor ve çıkan uyarı sitenin kendi tavsiyesi yani standart collector yerine g1gc'in serverlar için kendilerince daha uyumlu olduğunu söylüyor o yüzden uyarıda da onu değiştirmen gerektiğini söylüyor. Arada sırada olan tps düşüşleri, spike laglar genellikle bu garbage collectionlar yüzündendir
Bernard neden garbagecollectoru devre dışı bırakmanı söylemiş ve bu neden işe yaramış hiçbir fikrim yok ama g1gc yerine CMS collector var başka bir alternatif olarak onu deneyebilirsin çökmeye sebep olmazsa tps konusunda yardımı dokunabilir.
Java CMS
Bu sitede command line options başlığındaki tablodan özelleştirmek istersen özelleştirebilirsen veya denemek için tablonun altında direk recommended var onlarla deneyebilirsin.
 

EternalHittMan

Ağaç Yumruklayıcı
Mesajlar
30
En iyi cevaplar
0
Beğeniler
8
Puanları
260
Ruh hali
"UseG1GC" javanın alternatif garbage collectoru(Garbage First Garbage Collector açılımı)yani artık kullanılmayan objeleri hafızadan temizliyor ama standart collectordan ziyade bu garbage'ın çok olduğu alanlardan başlıyor ve daha sık temizlik yapıyor.Attığın link timings'in kendi sayfasına yönlendiriyor ve çıkan uyarı sitenin kendi tavsiyesi yani standart collector yerine g1gc'in serverlar için kendilerince daha uyumlu olduğunu söylüyor o yüzden uyarıda da onu değiştirmen gerektiğini söylüyor. Arada sırada olan tps düşüşleri, spike laglar genellikle bu garbage collectionlar yüzündendir
Bernard neden garbagecollectoru devre dışı bırakmanı söylemiş ve bu neden işe yaramış hiçbir fikrim yok ama g1gc yerine CMS collector var başka bir alternatif olarak onu deneyebilirsin çökmeye sebep olmazsa tps konusunda yardımı dokunabilir.
Java CMS
Bu sitede command line options başlığındaki tablodan özelleştirmek istersen özelleştirebilirsen veya denemek için tablonun altında direk recommended var onlarla deneyebilirsin.

Centos limit.conf dosyasından core'u unlimited yapıp reboot atınca o sorun çözüldü fakat şimdi faklı bir sorun başladı.

G1GC denedikten bir kaç dakika sonra sunucu crash verdi ve yukarıdaki hata dosyasını birde core dosyası oluşturdu.
 

Bernard

Бернард
Site Danışmanı
Geliştirici
Mesajlar
1,286
En iyi cevaplar
61
Beğeniler
2,129
Puanları
5,790
Ekstra bir GC kullanmanı önermiyorum.
 

Nedemekkio

Taş Madencisi
Mesajlar
87
En iyi cevaplar
5
Beğeniler
26
Puanları
70
Centos limit.conf dosyasından core'u unlimited yapıp reboot atınca o sorun çözüldü fakat şimdi faklı bir sorun başladı.

G1GC denedikten bir kaç dakika sonra sunucu crash verdi ve yukarıdaki hata dosyasını birde core dosyası oluşturdu.
Burada işin içine minecraft girmiş gibi bir şeyin 1.15.v1 versiyonu var çünkü hatada bu sefer server loglarında bir şeyler çıkıyordur diye tahmin ediyorum eğer server loglarında bir şey çıkmıyorsa maalesef benden hayır gelmez anlamadım çünkü garbage collector neden böyle bir şeye sebep oluyor
Ekstra bir GC kullanmanı önermiyorum.
Bunun bir sebebi var mı merakımdan soruyorum yani javanın kendi standart GCsi de dahil hiçbir gc'sinin fanı değilimdir ama g1gc default collectora göre çok daha düzgün çalışıyor benim deneyimlediğime göre
 

EternalHittMan

Ağaç Yumruklayıcı
Mesajlar
30
En iyi cevaplar
0
Beğeniler
8
Puanları
260
Ruh hali
Tekrar çöktü :(Ubuntu Pastebin

Bence artık g1gc kullanmayı bırakayım. Bana startup flag önerir misiniz ?

Loglarda hata görmüyorum.
 
Son düzenleme:

Nedemekkio

Taş Madencisi
Mesajlar
87
En iyi cevaplar
5
Beğeniler
26
Puanları
70
Tekrar çöktü :(Ubuntu Pastebin

Bence artık g1gc kullanmayı bırakayım. Bana startup flag önerir misiniz ?

Loglarda hata görmüyorum.
Bu sefer kesinlikle g1gc'den ondan eminim ama nedeni konusunda hiçbir fikrim yok.Bir java'ya bug reportta dene şansını çok hızlı dönüş yapmazlar ama yine de bir şey kaybetmezsin.
G1gc dışında da yukarıda dediğim cms var ama o da soruna yol açar mı bilmiyorum açıkçası :/
 

EternalHittMan

Ağaç Yumruklayıcı
Mesajlar
30
En iyi cevaplar
0
Beğeniler
8
Puanları
260
Ruh hali
kaybedecek bişeyim yok onu da deneyelim xd G1GC flagı yerine CMS flagı yazsam sorun çıkarır mı ?

Kullandığım başlatma kodu

Kod:
java -XX:+UnlockExperimentalVMOptions -d64 -server -Xms1M -Xmx8G -XX:-HeapDumpOnOutOfMemoryError -XX:SoftRefLRUPolicyMSPerMB=1000 -XX:-UseCompressedOops -XX:+TieredCompilation -XX:+UseLWPSynchronization -XX:+UseG1GC -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+UseLargePagesInMetaspace -XX:+AggressiveOpts -XX:+DisableExplicitGC -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Duser.language=EN -Duser.country=US -Dpaper.playerconnection.keepalive=120 -Dlog4j.skipJansi=true -Dusing.aikars.flags=true -Daikars.new.flags=true -jar server.jar -nojline -o false --log-strip-color --log-append=false nogui
 
Son düzenleme:

Nedemekkio

Taş Madencisi
Mesajlar
87
En iyi cevaplar
5
Beğeniler
26
Puanları
70
kaybedecek bişeyim yok onu da deneyelim xd G1GC flagı yerine CMS flagı yazsam sorun çıkarır mı ?

Kullandığım başlatma kodu

Kod:
java -XX:+UnlockExperimentalVMOptions -d64 -server -Xms1M -Xmx8G -XX:-HeapDumpOnOutOfMemoryError -XX:SoftRefLRUPolicyMSPerMB=1000 -XX:-UseCompressedOops -XX:+TieredCompilation -XX:+UseLWPSynchronization -XX:+UseG1GC -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+UseLargePagesInMetaspace -XX:+AggressiveOpts -XX:+DisableExplicitGC -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Duser.language=EN -Duser.country=US -Dpaper.playerconnection.keepalive=120 -Dlog4j.skipJansi=true -Dusing.aikars.flags=true -Daikars.new.flags=true -jar server.jar -nojline -o false --log-strip-color --log-append=false nogui
Edit. Asağıdaki gibi bir kodu direk kullanabilirsin g1 yerine sorun çıkarmaması lazım üstteki java cms linkinde de nasıl özelleştirebileceğini anlatıyor çok gerekli değil temel halinin de optimizasyonu fena değil ama sorun çıkartmaz çalışırsa eğer orayı da inceleyebilirsin
Kod:
-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
Bu tamamen standart cms kodu hicbir ayari yok bunu deneyebilirsin G1le alakali butun flaglari da sil
 

Üst