X
Lütfen Ülke (Bölge) Seçiniz
Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X
X
Lütfen Ülke (Bölge) Seçiniz
Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Bilgi Bankası

AnasayfaBilgi BankasıSunucu YönetimiLinux'ta Disk Doluluğu Kontrolü: df...

Linux'ta Disk Doluluğu Kontrolü: df ve du Komutlarıyla Yer Kaplayanı Bulma

Kısaca: Linux sunucuda disk doluluğu kontrolü için önce df -h ile hangi bölümün dolduğunu, ardından du ile o bölümde en çok yeri hangi klasörün kapladığını bulursunuz. df diskin genel durumunu, du klasörlerin boyutunu gösterir. Silinmiş ama hâlâ açık tutulan dosyalar için lsof +L1, eski günlük kayıtları için journalctl --vacuum-size kullanılır.

Disk dolduğunda veritabanı yazamaz, e-postalar kabul edilmez, siteler hata vermeye başlar. Bu rehberdeki komutları sunucunuza SSH ile bağlanarak çalıştırabilirsiniz. Komutlar Ubuntu, Debian, AlmaLinux ve Rocky Linux gibi yaygın dağıtımlarda aynıdır. Sistem klasörlerini eksiksiz taramak için komutları sudo ile çalıştırmanız gerekebilir.

Disk doluluğu kontrolü: df ile genel durum

df komutu bağlı dosya sistemlerinin boyutunu, kullanılan ve boş alanı gösterir. -h parametresi boyutları okunabilir birimlerle (G, M) yazar:

df -h

Çıktıda Use% sütununa ve Mounted on sütununa bakın. Örneğin /dev/vda1 40G 38G 2.0G 95% / satırı, kök dizinin bağlı olduğu bölümün yüzde 95 dolu olduğunu gösterir. Dosya sistemi türünü de görmek isterseniz df -hT kullanabilirsiniz.

Bazen df -h boş alan gösterdiği halde "No space left on device" hatası alırsınız. Bunun sık görülen bir nedeni inode'ların tükenmesidir; yani çok sayıda küçük dosya her dosya için ayrılan kaydı bitirmiştir. Bunu şöyle kontrol edin:

df -i

Disk doluluğu kontrolü: df -h ile yüzde 95 dolu disk, du ile en büyük klasör ve lsof +L1 komutu

du ile yeri kaplayan klasörü bulma

du klasörlerin diskte kapladığı alanı hesaplar. Büyük bir klasörü tek seferde taramak yerine bir seviye derine inerek ilerleyin:

sudo du -xh -d 1 / | sort -h
  • -h: boyutları okunabilir birimlerle yazar.
  • -d 1: yalnızca bir alt seviyedeki klasörlerin toplamını gösterir.
  • -x: başka dosya sistemlerine geçmez, böylece yalnızca dolu olan bölüm taranır.
  • sort -h: sonuçları boyuta göre küçükten büyüğe sıralar; en büyük klasör en altta görünür.

En büyük klasörü bulduktan sonra aynı komutu o klasör için tekrarlayın, örneğin sudo du -xh -d 1 /var | sort -h. Tek bir klasörün toplamını görmek için du -sh /var/log yeterlidir. Genellikle yer kaplayan yerler günlük kayıtları (/var/log), yedek dosyaları, paket önbellekleri ve uygulama yükleme klasörleridir.

Güvenli temizlik adımları

  1. Sistem günlüklerini sınırlayın: systemd günlüklerinin ne kadar yer kapladığını görmek için journalctl --disk-usage çalıştırın. Eski arşivlenmiş günlükleri belirli bir boyutun altına indirmek için:
sudo journalctl --vacuum-size=500M

journalctl belgesine göre bu komut yalnızca arşivlenmiş günlük dosyalarını siler, etkin dosyalara dokunmaz.

  1. Paket önbelleğini temizleyin: Ubuntu ve Debian'da sudo apt clean, AlmaLinux ve Rocky Linux'ta sudo dnf clean all indirilen paket dosyalarını siler. Kurulu paketler etkilenmez.
  2. Eski yedekleri taşıyın: Sunucuda biriken eski yedek dosyalarını silmeden önce başka bir konuma kopyalandıklarından emin olun.
  3. Silinmiş ama açık dosyaları bulun: Bir dosyayı silmenize rağmen alan boşalmadıysa dosya hâlâ bir süreç tarafından açık tutuluyor olabilir. lsof ile bu dosyaları listeleyin:
sudo lsof +L1

Çıktıda dosyayı tutan servisi görürsünüz. Alan, servis dosyayı bıraktığında boşalır; bunun için servisi systemctl ile yeniden başlatmak genellikle yeterlidir.

Dikkat: /var/lib altındaki veritabanı dosyalarını veya ne işe yaradığını bilmediğiniz dosyaları elle silmeyin. Emin olmadığınızda önce yedek alın ya da destek ekibimize danışın.

Diskin tekrar dolmasını önlemek

Disk doluluğunu düzenli izlemek, sorunu hata çıkmadan görmenizi sağlar. CPU ve RAM ile birlikte disk kullanımını takip etmek için sunucu kaynak kullanımı nasıl izlenir rehberimize bakın. Günlük dosyalarının döndürüldüğünden ve eski yedeklerin otomatik silindiğinden emin olun. Temizlikten kısa süre sonra disk yine doluyorsa daha büyük bir disk veya paket gerekebilir.

Sık Sorulan Sorular

df ile du neden farklı sonuç veriyor?

df dosya sisteminin genel durumunu, du ise erişebildiği dosyaların toplamını gösterir. Silinmiş ama açık tutulan dosyalar df'de yer kaplamaya devam eder, du'da görünmez. Bunları lsof +L1 ile bulabilirsiniz.

Disk boş görünüyor ama dosya oluşturamıyorum, neden?

inode'lar tükenmiş olabilir. df -i ile kontrol edin. Çok sayıda küçük dosya, örneğin eski oturum veya önbellek dosyaları, genellikle bunun nedenidir.

/var/log klasöründeki dosyaları silebilir miyim?

Arşivlenmiş eski günlükleri silebilirsiniz, ancak etkin günlük dosyalarını silmek yerine journalctl --vacuum-size gibi araçları ve günlük döndürmeyi kullanmak daha güvenlidir.

Aradığınız Bilgiyi Bulamıyor musunuz?

Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,

Bir Destek Talebi Oluşturun.
Faydalı Buldunuz mu?
(6 defa görüntülendi. / 0 kişi faydalı buldu.)

Powered by WISECP
Top