Linux df ve du Disk Alanı Uyuşmazlığı ve Çözüm Adımları
Linux sunucu yöneticilerinin sık karşılaştığı kafa karıştırıcı durumlardan biri, disk alanını gösteren `df -h` komutunun diskin tamamen dolu olduğunu söylemesi, ancak `du -sh` ile klasör boyutları toplandığında diskte çok fazla boş yer varmış gibi görünmesidir. Bu uyuşmazlığın ana nedeni, sistemde **silindiği halde arka planda bir süreç tarafından hala açık tutulan (deleted open files)** dosyalardır.
1. Silinen Ancak Açık Kalan Dosyaları Tespit Etme
Bir dosya (Örn: büyük bir log dosyası) silindiğinde, eğer o dosyaya yazan süreç (Örn: Apache veya Nginx) kapatılmamışsa, işletim sistemi dosya adını siler fakat diski serbest bırakmaz. Bu dosyaları bulmak için:
lsof +L1
Veya daha spesifik olarak silinmiş olanları listelemek için:
lsof | grep deleted
2. Diski Serbest Bırakma (Çözüm)
Sorunu çözmenin en güvenli yolu, o dosyayı açık tutan servisi yeniden başlatmaktır. Örneğin eğer Nginx log dosyası kilitliyse:
systemctl restart nginx
Servis yeniden başladığında kilitlenen dosya tamamen yok olacak ve `df -h` üzerinde disk alanının boşaldığını göreceksiniz.
Disk doluluğu gibi sunucu bakım süreçlerinde sorun yaşıyorsanız, uzman kadromuzun sunduğu Sunucu Destek Hizmetleri paketlerimizi inceleyebilir, limitsiz disk yapılandırmalı VDS Kiralama çözümlerimizden yararlanabilirsiniz.