1. Hatanın Belirlenmesi
VDS’teki log dosyalarını kontrol ederekTX timeout olaylarını doğrulayın.
Bash:
dmesg | grep -i tx
eth0: transmit timed out gibi satırlar gördüğünüzde işlem adımına geçin.2. ETHTOOL ile Queue Uzunluğunu Artırma
TX timeout genellikle nic’in kuyruk uzunluğunun düşük olmasından kaynaklanır.- Mevcut kuyruk uzunluğunu öğrenin.
Bash:ethtool -S eth0 | grep tx_queue_len - 1000’e kadar artırın.
Bash:sudo ethtool -s eth0 txqueuelen 1000
/etc/network/interfaces veya netplan dosyasında pre-up komutları ekleyin:
Bash:
pre-up ethtool -s eth0 txqueuelen 1000
3. Driver Seçeneklerini Değiştirme
Bazı Broadcom sürücülerdetx desteği etkin olduğunda zaman aşımı oluşabilir.
Bash:
sudo ethtool -K eth0 tx off
tx kapatıldığında, nic tüm paketleri TX kuyruğunda beklemez ve zaman aşımı riski azalır.4. Ağı Kısıtlamayı Yeniden Ayarlama
Eğer aynı anda çok sayıda düşüş yoğunluğu varsa,netdev_tx_timeout değerini artırın.
Bash:
sudo sysctl -w net.core.netdev_tx_timeout=30
/etc/sysctl.conf’a ekleyerek yeniden başlatıldığında da uygulanmasını sağlayın.5. Kernel ve Driver Güncellemesi
TX timeout, eski kernel veya driver ile ilgili bir hata olabilir.- Proxmox'un kullandığı
linux-imagepaketini en son sürüme yükseltin. - Eğer elle yüklenen Broadcom driver’i varsa,
b43-fwcutterveyabroadcom-stapaketlerinin son sürümlerini kurun.
6. İzleme ve Uyarı
ethtool -S eth0 ile tx_errors sayısını periyodik olarak kontrol edin.
Bash:
watch -n5 "ethtool -S eth0 | grep tx_errors"
Not: Her değişiklikten önce VDS’inizde bir snapshot almanız önerilir.
Sorun?
VDS’inizdeki Broadcom NIC için TX timeout sorunları hâlâ devam ediyorsa,ethtool -G eth0 tx 1024ile harici CPU kilitli eşitleme kipini (rx/tx) denemeyi düşünebilirsiniz. Bu ayar, yüksek trafik altındaki performansı artırabilir.