Minecraft Sunucusunda RAM Nasıl Ayarlanır? Windows Server’da -Xms ve -Xmx Ayarları

Minecraft sunucunuzda yeterli RAM bulunmasına rağmen lag, donma, ani kapanma veya OutOfMemoryError gibi problemler yaşıyorsanız sorun yalnızca sunucunun toplam RAM miktarı olmayabilir.

Java ile çalışan Minecraft sunucularında belleğin ne kadarının kullanılabileceği genellikle -Xms ve -Xmx parametreleriyle belirlenir.

Özellikle Windows Server ve Windows VDS üzerinde Minecraft çalıştıran kullanıcıların en sık yaptığı hatalardan biri, sunucuda bulunan RAM'in tamamını Java'ya vermek veya başlangıç dosyasına gereğinden fazla bellek tanımlamaktır.

Bu rehberde ağırlıklı olarak Windows Server üzerinde Minecraft RAM ayarlarının nasıl yapılacağını, -Xms ve -Xmx değerlerinin ne anlama geldiğini ve modlu Minecraft sunucularında RAM kullanımını nasıl kontrol edebileceğinizi anlatacağız. Linux kullanıcıları için gerekli örnekleri de rehberin devamında bulabilirsiniz.

1. -Xms ve -Xmx nedir?

Java başlangıç komutunda sık gördüğümüz:

-Xms -Xmx

parametreleri Java heap belleğinin sınırlarını belirler.

-Xms Java'nın başlangıç heap belleğini, -Xmx ise kullanabileceği maksimum heap belleğini belirtir.

Örneğin:

java -Xms4G -Xmx8G -jar server.jar nogui

komutunda:

  • -Xms4G = Java başlangıçta 4 GB heap alanıyla çalışır.
  • -Xmx8G = Java maksimum 8 GB heap kullanabilir.

Buradaki G gigabyte anlamına gelir.

2. Windows Server'da Minecraft'ın RAM ayarı nerede bulunur?

Vanilla, Paper, Spigot veya bazı özel Minecraft sunucularında başlangıç komutu genellikle:

start.bat server.bat run.bat

gibi bir BAT dosyası içerisinde bulunur.

Örneğin:

@echo off java -Xms4G -Xmx8G -jar server.jar nogui pause

Bu dosyaya sağ tıklayıp Düzenle diyerek RAM değerlerini değiştirebilirsiniz.

Dosya uzantılarını Windows Explorer'da görünür hale getirmeniz faydalı olacaktır. Aksi halde dosya gerçekte start.bat.txt olarak kaydedilebilir.

3. Forge ve NeoForge sunucularında RAM ayarı farklı olabilir

Modern Forge veya NeoForge server paketlerinde RAM ayarı her zaman doğrudan run.bat içerisinde bulunmaz.

Örneğin NeoForge başlangıç dosyasında:

java @user_jvm_args.txt @libraries/net/neoforged/neoforge/VERSION/win_args.txt %*

benzeri bir komut görebilirsiniz.

Bu durumda RAM ayarları:

user_jvm_args.txt

dosyasından okunabilir.

Örneğin:

-Xms4G -Xmx8G

şeklinde değerler bulunabilir.

Dolayısıyla Forge veya NeoForge kullanıyorsanız yalnızca run.bat dosyasına bakmak yeterli olmayabilir.

4. Sunucunun bütün RAM'ini Minecraft'a vermeyin

Örneğin Windows VDS'inizde toplam:

16 GB RAM

bulunuyorsa Java'ya:

-Xmx16G

vermek genellikle doğru bir yaklaşım değildir.

Çünkü Minecraft dışında da RAM kullanan bileşenler vardır:

  • Windows Server işletim sistemi
  • Uzak Masaüstü hizmetleri
  • Antivirüs veya güvenlik servisleri
  • Java'nın heap dışı bellek kullanımı
  • Disk cache
  • Kontrol paneli veya ek uygulamalar
  • Aynı sunucuda çalışan diğer servisler

Tüm fiziksel RAM Java'ya ayrılırsa Windows'un kendisi bellek sıkıntısı yaşayabilir ve pagefile kullanımına geçebilir.

Bu da Minecraft performansını iyileştirmek yerine kötüleştirebilir.

5. 16 GB Windows VDS için örnek RAM ayarı

Örneğin yalnızca bir Minecraft sunucusu çalıştırılan 16 GB RAM'li Windows VDS üzerinde başlangıç noktası olarak:

-Xms4G -Xmx12G

gibi bir yapı düşünülebilir.

Ancak bu değer herkes için aynı olmak zorunda değildir.

Gerçek ihtiyaç:

  • oyuncu sayısına,
  • mod veya plugin sayısına,
  • world boyutuna,
  • view-distance değerine,
  • aynı makinede çalışan diğer uygulamalara

göre değişir.

Bu nedenle yalnızca "sunucumda 16 GB var" bilgisine bakarak Java'ya kesin olarak belirli bir miktar RAM verilmesi doğru değildir.

6. -Xms ile -Xmx aynı olmak zorunda mı?

Hayır.

Örneğin:

-Xms4G -Xmx10G

kullanabilirsiniz.

Bu durumda Java başlangıçta daha düşük heap alanıyla başlayabilir ve ihtiyaç oldukça belirlenen maksimum sınıra kadar büyüyebilir.

Bazı Minecraft optimizasyon rehberlerinde -Xms ve -Xmx değerlerinin eşit verilmesi önerilir:

-Xms8G -Xmx8G

Bu yöntem bazı kurulumlarda tercih edilebilir ancak her Windows VDS için zorunlu değildir.

Önemli olan maksimum heap değerinin fiziksel sistem kaynaklarını zorlamayacak şekilde belirlenmesidir.

7. Fazla RAM vermek Minecraft'ı otomatik olarak hızlandırır mı?

Hayır.

Minecraft sunucusunda 4 GB RAM gerçekten yeterliyken Java'ya 24 GB vermek sunucuyu otomatik olarak daha hızlı hale getirmez.

Minecraft performansında RAM'in yanında özellikle:

  • işlemcinin tek çekirdek performansı,
  • tick süresi,
  • chunk generation,
  • plugin ve mod yükü,
  • entity sayısı,
  • view-distance,
  • simulation-distance

gibi faktörler de önemlidir.

Bu nedenle:

Daha fazla RAM ≠ Her zaman daha yüksek TPS

şeklinde düşünmek gerekir.

8. Windows Görev Yöneticisi ile RAM kullanımını kontrol edin

Windows Server üzerinde:

Ctrl + Shift + Esc

tuşlarına basarak Görev Yöneticisi'ni açabilirsiniz.

İşlemler veya Ayrıntılar bölümünde:

java.exe

işlemini bulun.

Bellek kullanımını buradan takip edebilirsiniz.

Ayrıca:

Performans → Bellek

bölümünden Windows Server'ın toplam RAM kullanımını kontrol edebilirsiniz.

Örneğin sistem sürekli:

%95 - %100 RAM kullanımı

seviyesindeyse yalnızca Minecraft'ın değil, tüm sistemin bellek kullanımını incelemek gerekir.

9. PowerShell ile Java RAM kullanımını kontrol edin

Windows PowerShell üzerinden çalışan Java işlemlerini görmek için:

Get-Process java -ErrorAction SilentlyContinue

kullanabilirsiniz.

Daha okunabilir bellek bilgisi için:

Get-Process java -ErrorAction SilentlyContinue | Select-Object Id,ProcessName,@{Name="RAM_MB";Expression={[math]::Round($_.WorkingSet64/1MB,0)}}

Örneğin:

Id ProcessName RAM_MB ---- ----------- ------ 4820 java 6350

gibi bir çıktı Java işleminin Windows tarafında yaklaşık ne kadar fiziksel bellek kullandığını görmenize yardımcı olur.

10. Birden fazla Java işlemi varsa dikkat edin

Aynı Windows VDS üzerinde birden fazla Minecraft sunucusu çalışıyorsa:

Get-Process java

komutu birden fazla Java işlemi gösterebilir.

Her Minecraft instance'ı ayrı RAM sınırına sahip olabilir.

Örneğin iki sunucu da:

-Xmx8G

ile çalışıyorsa teorik olarak yalnızca Minecraft sunucuları için maksimum 16 GB heap tanımlanmış olabilir.

16 GB RAM'li bir Windows VDS üzerinde buna işletim sisteminin ihtiyacı da eklendiğinde fiziksel RAM yetersiz kalabilir.

Birden fazla Minecraft instance çalıştırırken toplam kaynak planlaması yapılmalıdır.

11. OutOfMemoryError ne anlama gelir?

Log içerisinde:

java.lang.OutOfMemoryError: Java heap space

görüyorsanız Java'nın kullanılabilir heap alanı tükenmiş olabilir.

Bu durumda -Xmx değerinin yetersiz olup olmadığını kontrol edebilirsiniz.

Ancak hemen RAM artırmadan önce şu soruları da sorun:

  • Bir mod veya plugin memory leak oluşturuyor olabilir mi?
  • Çok fazla chunk yüklü mü?
  • Entity sayısı aşırı yüksek mi?
  • Sunucuya gerçekten yeterli fiziksel RAM var mı?
  • Başka Java instance'ları RAM tüketiyor mu?

Sadece -Xmx değerini sürekli artırmak problemin gerçek sebebini gizleyebilir.

12. Windows'ta Minecraft'ın hangi başlangıç komutuyla çalıştığını bulun

Sunucu farklı BAT dosyaları içeriyorsa hangi dosyanın gerçekten çalıştırıldığını kontrol edin.

Örneğin:

start.bat run.bat server-start.bat

dosyalarından yalnızca biri gerçek başlangıç komutu olabilir.

Çalışan Java işleminin komut satırını PowerShell üzerinden görmek için:

Get-CimInstance Win32_Process -Filter "Name='java.exe'" | Select-Object ProcessId,CommandLine

Bu çıktı sayesinde Minecraft'ın hangi JAR, argüman veya JVM parametreleriyle başlatıldığını kontrol edebilirsiniz.

13. Xmx değerini değiştirdim ama RAM değişmedi

Bu durumda birkaç ihtimal vardır.

Örneğin yanlış BAT dosyasını düzenlemiş olabilirsiniz.

Forge veya NeoForge server kullanıyorsanız RAM ayarı:

user_jvm_args.txt

dosyasından okunuyor olabilir.

Başka bir script de Java parametrelerini override ediyor olabilir.

Sunucuyu yeniden başlatmadan yapılan JVM parametresi değişiklikleri aktif çalışan Java işlemine uygulanmaz.

Bu nedenle değişiklik yaptıktan sonra Minecraft sunucusunu güvenli şekilde:

stop

komutuyla kapatıp yeniden başlatın.

14. Windows pagefile neden önemlidir?

Windows fiziksel RAM yetersiz kaldığında pagefile kullanabilir.

Pagefile disk üzerinde bulunduğu için fiziksel RAM'den çok daha yavaştır.

Minecraft sunucusunun yoğun şekilde disk tabanlı sanal belleğe düşmesi:

  • ani lag,
  • uzun tick süreleri,
  • sistemin ağırlaşması,
  • Uzak Masaüstü bağlantısının yavaşlaması

gibi problemlere katkıda bulunabilir.

Bu nedenle VDS RAM'inin tamamını Java heap olarak vermek yerine Windows için de yeterli boşluk bırakılmalıdır.

15. RAM mi CPU mu sorunlu nasıl anlarsınız?

Minecraft lag yaptığında kullanıcıların ilk yaptığı işlemlerden biri RAM artırmaktır.

Ancak RAM kullanımı normal seviyedeyken sunucunun TPS değeri düşüyorsa asıl darboğaz CPU olabilir.

Örneğin:

RAM kullanımı: %55 CPU'da bir çekirdek: %100 TPS: düşük

durumunda daha fazla RAM vermek problemi çözmeyebilir.

Özellikle Minecraft ana oyun döngüsünün önemli bölümleri güçlü tek çekirdek performansından faydalanır.

Bu nedenle modlu veya yüksek oyunculu Minecraft sunucularında yalnızca yüksek RAM değil, güçlü işlemci seçimi de önemlidir.

16. Modlu Minecraft sunucuları neden daha fazla RAM kullanabilir?

Forge, NeoForge veya Fabric üzerinde çok sayıda mod bulunan sunucular vanilla veya hafif Paper sunucularına göre daha yüksek RAM ihtiyacına sahip olabilir.

Özellikle:

  • çok sayıda yeni block ve item ekleyen modlar,
  • yeni dimension ekleyen modlar,
  • büyük world generation modları,
  • teknoloji ve otomasyon modları,
  • yüksek sayıda entity oluşturan modlar

bellek ihtiyacını artırabilir.

Ancak modpack'te 200 mod bulunması tek başına kesin RAM miktarını belirlemez.

Modların ne yaptığı ve oyuncuların sunucuyu nasıl kullandığı da önemlidir.

17. Minecraft sunucusuna ne kadar RAM verilmeli?

Tek bir kesin değer yoktur.

Küçük vanilla veya Paper sunucular daha düşük RAM ile çalışabilirken büyük modpack'ler çok daha yüksek bellek ihtiyacı duyabilir.

RAM seçerken şu faktörleri birlikte değerlendirin:

  • oyuncu sayısı,
  • mod veya plugin sayısı,
  • world generation yoğunluğu,
  • view-distance,
  • simulation-distance,
  • aynı makinedeki diğer servisler,
  • Windows'un ihtiyaç duyduğu bellek.

En doğru yaklaşım sunucunun gerçek kullanımını takip edip ihtiyaç oldukça kontrollü şekilde kaynak artırmaktır.

18. Çok yüksek Xms değeri vermek gerekli mi?

Örneğin 32 GB RAM'li bir Windows sunucusunda:

-Xms28G

vermek Java'nın başlangıçtan itibaren çok büyük heap alanı için hazırlanmasına neden olabilir.

Sunucunuz gerçekte bu kadar belleğe ihtiyaç duymuyorsa gereksiz şekilde yüksek başlangıç değeri kullanmanız şart değildir.

Örneğin:

-Xms4G -Xmx16G

gibi bir yapı bazı kullanım senaryolarında daha esnek olabilir.

Ancak optimum JVM ayarı kullanılan Java sürümüne, Minecraft sürümüne ve sunucunun iş yüküne göre değişebilir.

19. Java RAM kullanımı neden Xmx değerinden farklı görünüyor?

-Xmx8G kullanmanız Windows Görev Yöneticisi'nde Java'nın her zaman tam olarak 8 GB göstereceği anlamına gelmez.

-Xmx esas olarak maksimum Java heap sınırını belirtir.

JVM bunun dışında da bazı bellek alanları kullanabilir.

Aynı şekilde sunucu o anda yalnızca 3 GB heap kullanıyorsa Java'nın zorla 8 GB oyun verisiyle doldurması gerekmez.

Bu nedenle Görev Yöneticisi değerleriyle -Xmx değerinin birebir aynı olmamasını doğrudan hata olarak değerlendirmeyin.

20. Linux / Ubuntu üzerinde Xms ve Xmx ayarı

Linux'ta temel mantık aynıdır.

Örneğin:

java -Xms4G -Xmx8G -jar server.jar nogui

kullanılabilir.

Shell script içerisinde:

#!/bin/bash java -Xms4G -Xmx8G -jar server.jar nogui

şeklinde tanımlanabilir.

NeoForge kullanılıyorsa Linux'ta da:

user_jvm_args.txt

dosyasını kontrol etmek gerekebilir.

Sistemin RAM durumunu görmek için:

free -h

Java işlemlerini görmek için:

ps aux | grep java

veya:

pgrep -a java

kullanılabilir.

21. Windows ve Linux hızlı karşılaştırma

Windows Server:

java -version Get-Process java Get-CimInstance Win32_Process -Filter "Name='java.exe'" | Select-Object ProcessId,CommandLine

Linux / Ubuntu:

java -version free -h pgrep -a java

Her iki sistemde de RAM parametreleri aynı Java mantığıyla çalışır:

-Xms4G -Xmx8G

22. Hızlı RAM teşhis sırası

Minecraft sunucunuzda RAM problemi olduğunu düşünüyorsanız şu sırayla ilerleyebilirsiniz:

Toplam fiziksel RAM ne kadar? ↓ Windows ne kadar RAM kullanıyor? ↓ Java'ya verilen Xmx ne kadar? ↓ Java gerçekten ne kadar RAM kullanıyor? ↓ Başka Java işlemleri var mı? ↓ OutOfMemoryError var mı? ↓ Sorun RAM mi yoksa CPU / TPS kaynaklı mı?

Bu kontroller yapılmadan yalnızca RAM değerini yükseltmek doğru teşhis değildir.

23. Minecraft performansında RAM tek başına yeterli değildir

Minecraft sunucu performansı:

RAM + CPU + Disk + Java + Minecraft ayarları + Mod / plugin yükü + World yapısı

birlikte değerlendirilmelidir.

Özellikle yüksek oyunculu veya modlu Minecraft sunucularında güçlü tek çekirdek performansına sahip Ryzen işlemciler, yeterli RAM ve hızlı NVMe SSD kombinasyonu daha dengeli bir sunucu altyapısı oluşturabilir.


Batihost'ta sadece RAM vermiyoruz, Minecraft da biliyoruz.

Minecraft sunucunuz RAM tüketiyor, OutOfMemoryError veriyor, TPS düşüyor veya daha fazla RAM vermenize rağmen lag problemi çözülmüyorsa sorun yalnızca bellek miktarı olmayabilir.

Batihost olarak özellikle Windows VDS ve Minecraft sunucularında müşterilerimize yalnızca RAM, CPU ve disk kaynağı sunmakla kalmıyor; Java, Forge, NeoForge, modpack ve Minecraft sunucu problemlerinin doğru şekilde teşhis edilmesine de yardımcı oluyoruz.

Batihost Minecraft Sunucu ve Windows VDS hizmetlerini inceleyin

  • Minecraft Xms Xmx, Minecraft sunucu RAM, Minecraft RAM ayarı, Minecraft server RAM, Xms Xmx Minecraft, Minecraft Xmx, Minecraft Xms, Minecraft RAM verme, Minecraft sunucuya RAM verme, Minecraft server RAM ayarlama, Minecraft Windows Server RAM, Windows Minecraft server, Windows VDS Minecraft, Minecraft Windows VDS, Minecraft start.bat, Minecraft run.bat, Minecraft user_jvm_args.txt, NeoForge RAM ayarı, Forge RAM ayarı, Minecraft Java RAM, Minecraft Java heap, Minecraft OutOfMemoryError, Java heap space Minecraft, Minecraft RAM yetersiz, Minecraft çok RAM kullanıyor, Minecraft kaç GB RAM, Minecraft RAM artırma, Minecraft ne kadar RAM ister, modlu Minecraft RAM, Minecraft modpack RAM, Minecraft server lag, Minecraft RAM lag, Minecraft CPU RAM, Minecraft TPS, Minecraft performans, Minecraft Java ayarları, Minecraft PowerShell, Windows Server Java, Minecraft VDS, Minecraft hosting, Minecraft teknik destek, Minecraft server teknik destek, Ryzen Minecraft server, Ryzen VDS, NVMe Minecraft server, Batihost, Batihost Minecraft, Batihost Windows VDS, Batihost Minecraft hosting
  • 0 Bu dökümanı faydalı bulan kullanıcılar:
Bu cevap yeterince yardımcı oldu mu?

İlgili diğer dökümanlar

100+ modu değiştirmek yerine yanlış Minecraft/NeoForge runtime’ını düzeltmek

 Batihost › Bilgi Bankası › Minecraft Sunucu HatalarıGerçek teknik destek vakasıMinecraft...

Minecraft Sunucusu Açılıyor Ama Oyuncular Bağlanamıyor: Port, UFW ve server-ip Kontrolü

Minecraft sunucunuz konsolda sorunsuz şekilde açılıyor ve Done mesajını gösteriyor olabilir....

Minecraft Sunucusu Hangi Java Sürümünü Kullanmalı? Java 17, 21 ve 25 Sürüm Uyumsuzluğu Hataları

Minecraft sunucusu kurarken yalnızca Minecraft, Forge, Fabric veya NeoForge sürümünün doğru...

Minecraft “Failed to Bind to Port” Hatası Çözümü: Windows ve Linux Port Çakışması

Minecraft sunucunuzu başlatırken Failed to bind to port, Address already in use veya Perhaps a...

Minecraft Sunucusu Neden Crash Veriyor? Windows Server’da latest.log ve crash-report Nasıl Okunur?

Minecraft sunucunuz açılırken aniden kapanıyor, konsolda yüzlerce satır hata çıkıyor veya...