İşletim sistemi seviyesindeki darboğazlar, en gelişmiş ve optimize edilmiş scriptlerin bile kasmasına veya sunucu tick sürelerinin (tick rate drop) uzamasına neden olabilir. 2026 yılı itibarıyla yüksek oyuncu kapasitesine sahip FiveM sunucularının arkasındaki en büyük gizli kahraman, doğru yapılandırılmış bir Linux Kernel ve CPU Affinity (Çekirdek Atama) mimarisidir.
Bu rehberde, sunucu donanımınızdan maksimum verim almanız için adım adım işletim sistemi ve çekirdek seviyesindeki optimizasyonları inceleyeceğiz.
1. CPU Affinity (Çekirdek Atama) Nedir ve Neden Kritik?
Sunucu işletim sistemleri, varsayılan olarak tüm çalışan süreçleri (process) mevcut CPU çekirdekleri arasında sürekli kaydırır (Context Switching). Bu durum, FiveM'in ana iş parçacığında (main thread) L1/L2 önbellek kayıplarına (cache miss) ve anlık MS sıçramalarına yol açar.
CPU Affinity, FXServer sürecini yalnızca belirli fiziksel CPU çekirdeklerine sabitleyerek işletim sisteminin diğer arka plan işlemlerinin bu çekirdekleri meşgul etmesini engeller.
2. Adım Adım Linux (systemd) CPU Affinity Yapılandırması
FXServer uygulamanızı bir systemd servisi olarak çalıştırıyorsanız, çekirdek atamasını servis dosyası üzerinden kolayca yapabilirsiniz.
1. Servis Dosyasını Açın
Sunucunuzdaki SSH terminaline bağlanın ve FXServer servis dosyanızı düzenleyin:
sudo nano /etc/systemd/system/fxserver.service2. CPUAffinity Parametresini Ekleyin
Aşağıdaki örnek konfigürasyonda, 8 çekirdekli bir sunucuda varsayılan sistem süreçleri 0 ve 1 numaralı çekirdeklere bırakılırken, FXServer 2,3,4,5,6,7 çekirdeklerine kilitlenmiştir:
[Unit]
Description=FiveM FXServer Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/home/fivem/server-data
ExecStart=/home/fivem/alpine/opt/cfx-server/ld-musl-x86_64.so.1 --library-path /home/fivem/alpine/usr/lib/v8/:/home/fivem/alpine/lib/ -- /home/fivem/alpine/opt/cfx-server/FXServer +set citizen_dir /home/fivem/alpine/opt/cfx-server/citizen/ +exec server.cfg
# CPU Çekirdek Ataması (2, 3, 4, 5, 6, 7 çekirdekleri FiveM için ayrıldı)
CPUAffinity=2-7
# Yüksek Öncelik (Nice Değeri)
Nice=-10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.targetlscpu -e komutunu kullanarak hangi çekirdeklerin aynı fiziksel işlemciye ait olduğunu doğrulayın.3. Servisi Yeniden Başlatın
Değişiklikleri kaydetmek ve servisi aktif etmek için şu komutları çalıştırın:
sudo systemctl daemon-reload
sudo systemctl restart fxserver3. Linux Kernel Ağ Tamponu (sysctl.conf) Optimizasyonu
FiveM, yüksek miktarda UDP paketi iletir. İşletim sisteminin varsayılan ağ tampon belleği (network socket buffer) yüksek oyuncu sayılarında paket dökülmelerine (packet loss) sebep olur.
/etc/sysctl.conf dosyasının sonuna aşağıdaki performans parametrelerini ekleyin:
# UDP ve Socket Bellek Tampon Ayarları (2026 Standartları)
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.rmem_default = 8388608
net.core.wmem_default = 8388608
net.core.optmem_max = 20480
# Ağ Kuyruk Derinliği
net.core.netdev_max_backlog = 10000
net.core.somaxconn = 4096Değişiklikleri anında uygulamak için:
sudo sysctl -pDonanım Optimizasyonu ve Hazır Altyapılar
İşletim sistemi seviyesindeki bu ince ayarlar, sunucunuzun fiziksel kapasitesini maksimuma çıkarır. Ancak unutulmamalıdır ki en güçlü Linux kernel yapılandırması bile kötü kodlanmış scriptlerin yaratacağı CPU yükünü tamamen ortadan kaldıramaz.
Eğer altyapı optimizasyonlarıyla tek tek uğraşmak yerine modern, stabil ve optimize edilmiş hazır bir sistemle başlamak istiyorsanız; Dexta Store güvencesiyle sunulan DxAV1 - Roleplay Paketi çözümümüzü inceleyebilirsiniz.
Sıkça Sorulan Sorular (SSS)
1. Windows Server işletim sisteminde CPU Affinity yapabilir miyim?
Evet. Görev Yöneticisi (Task Manager) üzerinden FXServer.exe sürecine sağ tıklayıp "Ayrıntılar" sekmesinden "Benzeşmeyi Ayarla" (Set Affinity) seçeneği ile CPU çekirdeklerini manuel seçebilirsiniz. Ancak kalıcı olması için Process Lasso gibi yazılımlar kullanmanız önerilir.
2. CPU Affinity ayarı tick rate (ms) süresini düşürür mü?
Evet. FXServer ana thread'inin sürekli aynı L1/L2 önbelleğe erişmesini sağladığı için işlemci önbellek ıskalamaları (cache miss) azalır ve anlık FPS düşüşleri ile MS sıçramaları engellenir.
3. VPS/VDS kullanıyorum, bu ayarları yapmalı mıyım?
Eğer paylaşımlı sanal sunucu (VPS) kullanıyorsanız ve size atanan çekirdekler sanal ise (vCPU), çekirdek ataması fiziksel makine kadar etki göstermeyebilir. Ancak ağ (sysctl) optimizasyonları her tür Linux sunucuda belirgin performans artışı sağlar.
